Krill has given us Transwarp, a special 1541 loader that is able to push the speed of loading a file from the 1541 drive far beyond the limits that hardware-modified systems reached. And it requires no special hardware. With a little bit of prep, I was able to test it with CBM Disk Transfer Benchmark.
How fast is it? Think of it this way: Back in the day, you could spend a bunch of money and open up your C64 and 1541 drives and install DolphinDOS to achieve a load speed that clocked in at 23 times faster than the stock hardware. JiffyDOS, which was easier to install and more ubiquitous, could only provide you with a 9x load time improvement over the base hardware. Transwarp is capable of loading files 40 times faster than the stock system, and requires no hardware modifications or cartridge.
This is impressive and totally legitimate. The 1541 and C64, which gave us a measly 403 bytes per second transfer rate when loading files, can be pushed to do the same loading task at 16,056 bytes per second! And all in software!
Not to put too fine a point on it, but here’s another way to look at it: the stock 1541 with C64 takes a almost two minutes (1:51.5) to load a 177 block file. Transwarp can load that file in three (0:02.8) seconds. (And did I mention it doesn’t require any hardware changes?)
Note that Transwarp can actually achieve up to 50x the load speeds when file overhead is excluded. The 40x score is as timed by Disk Transfer Benchmark with its 177 block data file from within DTB and includes all of the time it takes to JSR into LOAD and return.
What’s the down-side? You don’t get any speed improvements for saving files. That isn’t such a big deal. However, you also can’t actually accelerate the loading time of any arbitrary files you may want to transfer. Transwarp requires that the files be pre-encoded before-hand to load them quickly. For this reason, it’s not really a replacement for JiffyDOS or a traditional fast load cartridge.
In order to run this benchmark, I had to create a D64 image with the DTB program file and data file using cc1541 with the -W switch to produce an image with the necessary encoding. But, once done, the loading benchmark ran without a hitch. (Saving didn’t work and actually put the drive into an error state.)
Load comparisons
[Update: I’ve got a dedicated page I will be keeping up to date for Speed Loader Comparisons.]
Here’s a table showing where Transwarp fits in with other speed loaders. I have excluded the save speed tables since it is not relevant to Transwarp. This table includes the Hyperspeed DMA loader from the Ultimate 64 as well.
System | Load Bytes per Second | Load Time | DTB Load Score |
1541 | 403 | 01:51.5 | 1x |
SD2IEC | 502 | 01:29.5 | 1x |
1581 | 507 | 01:28.6 | 1x |
1541 w/ Epyx Fastload | 2121 | 00:21.2 | 5x |
1541 w/ Warp Speed | 3017 | 00:14.9 | 8x |
1541-II w/ JiffyDOS | 3746 | 00:12.0 | 9x |
1541 w/ Super Snapshot 5 | 4163 | 00:10.8 | 10x |
1541 w/ Action Replay 5 | 5352 | 00:08.4 | 13x |
1541 w/ Retro Replay PAL 3.8q | 5352 | 00:08.4 | 13x |
1581 w/ JiffyDOS | 6515 | 00:06.9 | 16x |
SD2IEC w/ Epyx Fastload | 7136 | 00:06.3 | 18x |
SD2IEC w/ JiffyDOS | 9175 | 00:04.9 | 23x |
1541 w/ DolphinDOS (U64) | 9366 | 00:04.8 | 23x |
1541 w/ Transwarp 0.84 | 16056 | 00:02.8 | 40x |
1541 U2+ Hyperspeed (USB) | 64223 | 00:00.7 | 161x |
1541 U2+ Hyperspeed (RAM Disk) | 89912 | 00:00.5 | 225x |
U64 Hyperspeed (USB) | 224780 | 00:00.2 | 562x |
U64 Hyperspeed (RAM Disk) | 449560 | 00:00.1 | 1124x |
This graph shows the relative speeds not including Hyperspeed:
And this graph includes Hyperspeed:
In reality, both Hyperspeed and Transwarp have idiosyncrasies that make comparison with traditional fastloaders a bit unfair, since neither can really be used in a “daily driver” senario. But regardless of that, Transwarp is a clear triumph. Props to Krill!
When I originally posted these findings, Transwarp was getting a 36x score in DTB. Krill was wondering why there was such a discrepancy between that and what the Transwarp loader was reporting itself (43x). He found that the way DTB was initializing the secondary load address was causing Transwarp to assume a slower load speed. By making this little change, DTB now reports a 40x score, which is much closer to what Transwarp itself reports. Please download CBM Disk Transfer Benchmark 1.1 to get the updated program.
First, we had vorpal, which was a 2 revolution loader with a less efficient GCR encoding.
Then, we had Heureka Sprint, which is a similar 2 revolution loader, that uses an even worse encoding. BUT, this was encoded on top of normal DOS sectors. this meant that you could fastcopy the disk with ANY disk at once copier.
Transwarp does a very similar trick. except it loads a track in ONE revolution! that’s why it’s so special. Hellishly fast. With this, it is faster to leave the main program uncompressed, provided it fits within the 202 block limit before then. If it’s too big you apply JUST enough compression to get it to 202. And you can still copy it with any full disk copier.
So now i have the fastest loading cracks of Koronis Rift, The Eidolon, and BallBlazer ever. And they are fastcopyable and zipcodeable.
PS. He’s also trying to make a 2 revolution out of order standard GCR serial loader. which will literally be unbeatable on a stock 1541 drive.
I consider Transwarp to be the most exciting software speeder ever.
If you have your favorite Software on disk or on .D64 you can easily create transwarp disks at least from all onefilers. Best results for all uncompressed onefilers.
Did anyone mention, that Tranwarp also works on NTSC-systems und does not blank the schreen while loading?
I’m pretty sure the late 80s Super Snapshot had something like this. You converted your files and they loaded almost instantly. But having to re-encode them made them unpalatable to others, who wants some weird converted file. Still I love this idea!
You know, I can vaguely remember from the late 80’s that one of those carts had a special file encoding to load super fast. I have used Fast-Load, IsePic, Final-Cartridge, Super-Snapshot, and Action Replay and some others.
Transwarp does blank the screen. and plays music and flashes colors. 🙂 but it does work on pal/ntsc. You can disable the flashing+music if you want.
Can you control what music it plays while loading?
What is the difference between TransWarp and KrillLoader?