Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
  You are not logged in - nap
Spindle 1.0   [2013]

Spindle 1.0 Released by :

Release Date :
7 May 2013

Type :
Other Platform C64 Tool

lft's Loader

Website :

User rating:awaiting 8 votes (3 left)   See votestatistics

Credits :
Code .... Lft of Kryo

Download :
http://csdb.dk/getinternalfile.php/191294/spindle-1.0.tgz (downloads: 48)

Look for downloads on external sites:

User Comment
Submitted by Mr.Ammo on 24 November 2019
Removed the dead (external) download link and uploaded the file to CSDb.
User Comment
Submitted by MagerValp on 13 May 2013
It's awe-inspiring when someone takes ideas that you've had in the back of your head, and release them as a production ready framework, with a ton of bells and whistles. The memory map and loader profiling has me drooling!
User Comment
Submitted by Groepaz on 10 May 2013
after looking at it a bit more i have to say.... wtf? some things, like the header for each part that contains a jumptable for various standard things, look strikingly similar to what i started doing after reanim8ed... and then abandoned again, because it seemed not flexible enough :) looks tempting though :)
User Comment
Submitted by lft on 10 May 2013
Due to a bug in the 6502 emulator I used for profiling, the cycle count I reported was too large. The actual median is 27216 cycles, which corresponds to three sectors passing by rather than four. All the better!

I have also managed to improve the decrunching time to 26077 cycles, but that version is still unreleased. One of the tricks was to crunch backwards, from high to low addresses, in order to avoid a cpy instruction in the copy loop of the decruncher.
User Comment
Submitted by lft on 8 May 2013
Cruzer: Spindle doesn't need the CIA timer, it just synchronises it for you at startup. You are free to use it any way you like.

Doynax: Out-of-order decrunching is achieved, like you guessed, by not looking back beyond the previous sector boundary.

I added instrumentation and measured the decrunching time for Shards of Fancy (not the public version, which uses a different cruncher). For decrunching one block (corresponding to, on average, 564 uncompressed bytes), the average number of clock cycles is 31220 (the median is 34141).

This corresponds roughly to four sectors spinning by on the drive side, which is good: Rather than loading two blocks during eight sector time units, we can load one block during seven sector time units. More space left on the disk, and slightly faster loading; win-win!

edit: Corrected the median value. Had accidentally sorted alphabetically. =)
User Comment
Submitted by Cruzer on 8 May 2013
Looks damn promising! Will definitely try it out. Just hope it's not too hard use for someone like me who isn't used to makefiles, and that it doesn't restrict the demo effects too much. It sounds a little scary that it occupies a CIA timer, but hopefully it's possible to use it when the loader isn't running, if it's restored afterwards.
User Comment
Submitted by Oswald on 8 May 2013
wow, I've never thought that trackmo linking could be automated. Will definitly give it a try if I'll have to link a trackmo myself again.
User Comment
Submitted by Krill on 8 May 2013
Interesting, fresh approach to trackmo creation.

I wouldn't call it a loader though, rather a whole demo framework, or trackmo system, or anything else that implies it's doing more than just the loading.

Now, with this new competing product, i need to finally implement all the speed improvements i've had on my list for a while..
User Comment
Submitted by doynax on 8 May 2013
Excellent work!

I haven't taken the time to dig through the source yet but it certainly sounds like you've got a lot of groundbreaking innovations in there.

You mention that it's blazingly fast. Care to give us a hint of what that might mean in practice? Say with the nothing much else going on and typical 50% compressible code/data being loaded.

How did you manage out-of-order decrunching by the way? Is it some sort of static dictionary coding, are matches prevented from referencing previous blocks which might not yet have been loaded, or is it something altogether more clever?
User Comment
Submitted by Radiant on 8 May 2013
My spontaneous reaction is that there are a lot of clever features, but also that it is a bit overkill. Extremely well made and thought out though; some of the solutions here are indeed better than in my framework and will inspire some rewrites. :-)
User Comment
Submitted by Yogibear on 7 May 2013
Good work!
User Comment
Submitted by TheRyk on 7 May 2013
Thx very much for sharin this, very much appreciated, might give it a try, and hey: one disk side should be enough! :)
Search CSDb
Prev - Random - Next
Detailed Info
· Summaries (1)
· User Comments (12)
· Production Notes
Fun Stuff
· Goofs (1)
· Hidden Parts
· Trivia
· Discuss this release
Sponsored links
Support CSDb
Help keep CSDb running:

Funding status:

About this site:
CSDb (Commodore 64 Scene Database) is a website which goal is to gather as much information and material about the scene around the commodore 64 computer - the worlds most popular home computer throughout time. Here you can find almost anything which was ever made for the commodore 64, and more is being added every day. As this website is scene related, you can mostly find demos, music and graphics made by the people who made the scene (the sceners), but you can also find a lot of the old classic games here. Try out the search box in the top right corner, or check out the CSDb main page for the latest additions.
Home - Disclaimer
Copyright © No Name 2001-2022
Page generated in: 0.081 sec.