(hide navigation)
  • Swedish content
Fund my projects
Patreon
Steady
Don't miss
Page thumbnail
Freecell
Forum
Register
Log in
Latest comments
Syndication
RSS feed
Feedback
Scene productions

Spindle v3

The third major release of Spindle was announced with a small demo at Gubbdata 2021. New features include seeking, silencing of other drives on the bus, and a 40-track mode.

Manual

(It's in the archive, but you can click below too.)

Download

About

Spindle is an integrated linking, loading and decrunching solution for C64 trackmos.

The core of Spindle is a cutting-edge IRQ loader featuring extremely fast scattered loading and decrunching, minimal RAM footprint, and state of the art serial transfer routines.

On top of this, Spindle provides a linking framework that automates much of the tedious work traditionally associated with trackmo development. By hiding the details of the storage model, Spindle allows the demo coder to focus on effects, transitions, and flow.

Revolutions Delivered

The demo—which uses Spindle 3.0 of course—was entered in the C64 Demo competition at Gubbdata and ended up on 4th place.

The demo has a CSDb page.

Performance measurements

In this benchmark, I wrote a test program that would load the same data set (a single large file) from eight different locations on the disk, while a raster interrupt was occupying a given proportion of the screen. The loading time in frames was measured, and the median was computed for the eight values. The result was then converted to bytes per second.

The tool was ported to a selection of different loaders, and the results are shown in the diagrams below.

In the first scenario, the data set is a concatenation of the BASIC and KERNAL ROM images (16 KB). The second data set is this FLI picture, ripped and treated as a continuous 17 KB chunk. A version of the second chart also appears in the demo.

Click to see larger versions.

Posted Sunday 4-Jul-2021 13:29

Discuss this page

Disclaimer: I am not responsible for what people (other than myself) write in the forums. Please report any abuse, such as insults, slander, spam and illegal material, and I will take appropriate actions. Don't feed the trolls.

Jag tar inget ansvar för det som skrivs i forumet, förutom mina egna inlägg. Vänligen rapportera alla inlägg som bryter mot reglerna, så ska jag se vad jag kan göra. Som regelbrott räknas till exempel förolämpningar, förtal, spam och olagligt material. Mata inte trålarna.

Anonymous
Thu 7-Apr-2022 04:55
I was wondering if it's possible to use Spindle as a general purpose fastloader with autorun capabilities? For example: Say I wanted a single program to run, output a disk image with the fastloader stub+main program which the stub will autoload and run an independent program not a demo or part.
lft
Linus Åkesson
Wed 20-Apr-2022 08:30
I was wondering if it's possible to use Spindle as a general purpose fastloader with autorun capabilities? For example: Say I wanted a single program to run, output a disk image with the fastloader stub+main program which the stub will autoload and run an independent program not a demo or part.

Hmm, the short answer is no, but you could probably hack something together. If it's a machine code program, starting with a BASIC header with just a SYS instruction, you could make a Spin script for loading that to $801 and supplying the SYS parameter (in hex) with the -e option. But the program would find the machine in a different state compared to a clean BASIC start, so you may have to jump via a small program of your own devising that restores enough of the environment to make the target program work. That may require investigation with a monitor/debugger.
Anonymous
Wed 5-Apr-2023 04:36
hello, is there's a trick to know if the next buffer is already loaded using spindle graphics streaming?