| View previous topic :: View next topic |
| Author |
Message |
Forum Junkie

Joined: 04 Jan 2002 Posts: 529
|
Posted: Fri Mar 02, 2012 5:58 am Post subject: Fast loader shootout |
|
|
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 |
|
 |
Master of C64


Joined: 28 Aug 2004 Age: 42 Posts: 1435 Location: Augusta, Georgia, USA
|
Posted: Fri Mar 02, 2012 6:55 pm Post subject: |
|
|
The older version of Vorpal is faster than the newer... Interesting.  _________________ |
|
| Back to top |
|
 |
Forum Junkie

Joined: 07 Sep 2009 Age: 37 Posts: 597 Location: Fort Worth, TX
|
Posted: Fri Mar 02, 2012 7:23 pm Post subject: Re: Fast loader shootout |
|
|
| 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 |
|
 |
C64 Enthusiast


Joined: 11 Aug 2010 Age: 40 Posts: 757 Location: North Idaho, USA
|
Posted: Fri Mar 02, 2012 7:45 pm Post subject: Re: Fast loader shootout |
|
|
| 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 |
|
 |
Forum Junkie

Joined: 04 Jan 2002 Posts: 529
|
Posted: Fri Mar 02, 2012 8:24 pm Post subject: |
|
|
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 |
|
 |
Groupie


Joined: 30 Dec 2011 Posts: 181 Location: USA
|
Posted: Fri Mar 02, 2012 9:01 pm Post subject: |
|
|
| 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 |
|
 |
C64 Enthusiast


Joined: 11 Aug 2010 Age: 40 Posts: 757 Location: North Idaho, USA
|
|
| Back to top |
|
 |
Groupie


Joined: 30 Dec 2011 Posts: 181 Location: USA
|
Posted: Fri Mar 02, 2012 9:19 pm Post subject: |
|
|
| 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 |
|
 |
Forum Junkie

Joined: 04 Jan 2002 Posts: 529
|
Posted: Fri Mar 02, 2012 10:07 pm Post subject: |
|
|
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 |
|
 |
Groupie


Joined: 23 Nov 2005 Posts: 240 Location: San Francisco, California
|
Posted: Sun Mar 04, 2012 11:59 pm Post subject: |
|
|
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 |
|
 |
C64 Games Programmer


Joined: 07 Jan 2002 Posts: 2194 Location: Finland
|
Posted: Mon Mar 05, 2012 11:18 am Post subject: |
|
|
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 |
|
 |
Forum Junkie

Joined: 04 Jan 2002 Posts: 529
|
Posted: Mon Mar 05, 2012 9:35 pm Post subject: |
|
|
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 |
|
 |
Groupie in Training

Joined: 05 Mar 2012 Age: 32 Posts: 105
|
Posted: Wed Mar 07, 2012 3:09 pm Post subject: |
|
|
Sorry for the silly question, but how exactly did these systems realize copy protection?
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 |
|
 |
Forum Junkie

Joined: 04 Jan 2002 Posts: 529
|
Posted: Wed Mar 07, 2012 5:46 pm Post subject: |
|
|
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 |
|
 |
Groupie in Training

Joined: 01 Nov 2008 Posts: 140
|
Posted: Thu Mar 08, 2012 11:08 am Post subject: |
|
|
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 |
|
 |
Grandmaster of C64


Joined: 13 Jan 2003 Posts: 1965
|
Posted: Thu Mar 08, 2012 11:42 am Post subject: |
|
|
Probably Freeze Frame loader. |
|
| Back to top |
|
 |
Newbie
Joined: 14 Jan 2003 Posts: 31
|
Posted: Sat Mar 10, 2012 1:54 am Post subject: |
|
|
| 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 |
|
 |
Forum Junkie

Joined: 04 Jan 2002 Posts: 529
|
Posted: Sat Mar 10, 2012 7:42 am Post subject: |
|
|
| 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 |
|
 |
Über Groupie


Joined: 02 Jun 2010 Posts: 389 Location: .se
|
Posted: Sat Mar 10, 2012 9:38 am Post subject: |
|
|
LordCrass: Ah, I saw you already mentioned Krill's Loader a few posts up. How does it compare speedwise? |
|
| Back to top |
|
 |
Groupie

Joined: 07 Jan 2003 Posts: 293 Location: Grimstad, Norway
|
Posted: Sat Mar 10, 2012 7:50 pm Post subject: |
|
|
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 |
|
 |
Grandmaster of C64


Joined: 13 Jan 2003 Posts: 1965
|
Posted: Sat Mar 10, 2012 9:06 pm Post subject: |
|
|
| 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 |
|
 |
Forum Junkie

Joined: 04 Jan 2002 Posts: 529
|
Posted: Sat Mar 10, 2012 10:30 pm Post subject: |
|
|
| 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 |
|
 |
Über Groupie


Joined: 24 Apr 2010 Age: 48 Posts: 328 Location: Northern Utah (Wishin I was home in Texas)
|
Posted: Wed Mar 14, 2012 1:48 am Post subject: |
|
|
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 |
|
 |
Groupie

Joined: 07 Jan 2003 Posts: 293 Location: Grimstad, Norway
|
Posted: Wed Mar 14, 2012 9:02 pm Post subject: |
|
|
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 |
|
 |
Forum Junkie

Joined: 04 Jan 2002 Posts: 529
|
Posted: Thu Mar 15, 2012 12:17 am Post subject: |
|
|
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 |
|
 |
|