Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Spindle and Sparkle demos not launching
2024-10-29 21:01
mankeli

Registered: Oct 2010
Posts: 146
Spindle and Sparkle demos not launching

Can someone explain why demos using Sparkle or Spindle loaders can't be run from 1541U by selecting the launch file and using "mount & run"?

You got to use "Run Disk" for the whole image. 99.9999% of the C64 demos can be launched with mount & run, and somehow this only seems affect those aforementioned loaders.
 
... 60 posts hidden. Click here to view all posts....
 
2024-11-08 22:43
tlr

Registered: Sep 2003
Posts: 1791
Not sure if the are touched at all if not trying to move the head. A seek to track 18 if you are already there probably won't move anything.
2024-11-09 01:33
Sparta

Registered: Feb 2017
Posts: 49
Please correct me if I’m mistaken but it seems to me that this is only a problem if you don’t know which track you are on before the first 0.5 track step is taken by the loader.
2024-11-09 02:12
Krill

Registered: Apr 2002
Posts: 2981
Quoting Sparta
Please correct me if I’m mistaken but it seems to me that this is only a problem if you don’t know which track you are on before the first 0.5 track step is taken by the loader.
Well seems to me that generally you don't know which track you're on right after a reset/powercycle. =)
2024-11-09 02:32
Martin Piper

Registered: Nov 2007
Posts: 726
Quote: Quoting Sparta
Please correct me if I’m mistaken but it seems to me that this is only a problem if you don’t know which track you are on before the first 0.5 track step is taken by the loader.
Well seems to me that generally you don't know which track you're on right after a reset/powercycle. =)


And until the disk spins, a GCR sync mark is found, the GCR header is read, decoded, and the track and sector bytes are discovered. :)
2024-11-09 03:22
Sparta

Registered: Feb 2017
Posts: 49
Quoting Krill
Well seems to me that generally you don't know which track you're on right after a reset/powercycle. =)


Can’t be too far from the one we were on before power cycling. ;p

Anyway, what I mean is that in the case of Sparkle (and Spindle too), the installer loads from track 18. Once the BAM is read after drive reset (via the above mentioned JSR $d00e in the M-E bootstrap code), I know I am still/back on track 18 and I can set the stepper bits accordingly.
2024-11-09 03:27
chatGPZ

Registered: Dec 2001
Posts: 11390
Except when some kind of DMA loading for the first file was involved (Like 1541U or TC64 does) - which is what this thread is all about :)
2024-11-09 03:41
Sparta

Registered: Feb 2017
Posts: 49
That’s what the read BAM call will remedy:
1. By some means (LOAD, DMA), Sparkle’s installer gets loaded to the c64
2. Drive reset (in case of real HW)
3. RUN
4. M-E bootstrap code gets uploaded and executed in drive’s buffer
5. Bootstrap reads BAM
6. I am on track 18
2024-11-09 03:52
Sparta

Registered: Feb 2017
Posts: 49
Tested so far on U, U2, and U2+, 1541-II, and Oceanic.
2024-11-09 10:46
tlr

Registered: Sep 2003
Posts: 1791
Quote: Quoting Krill
Well seems to me that generally you don't know which track you're on right after a reset/powercycle. =)


Can’t be too far from the one we were on before power cycling. ;p

Anyway, what I mean is that in the case of Sparkle (and Spindle too), the installer loads from track 18. Once the BAM is read after drive reset (via the above mentioned JSR $d00e in the M-E bootstrap code), I know I am still/back on track 18 and I can set the stepper bits accordingly.


The thing I found is that if anyone changes the step bits skipping the half track step, then the stepper motor may end up in an "invalid state", I guess mechanically. A subsequent normal step after that may not end up on the track you expect. I guess this is one of the reasons for the DOS implementation of "the dance".

This is what I've been using to fix that in my init code:
; handle if we are positioned on a half track
	lda	$1c00
	lsr
	bcc	wce_skp1
	jsr	head_in
wce_skp1:
; step in (higher track), then out (lower track) to settle head
; This is because some drive mechanisms will feel bad when going
; directly from step 10 -> step 00 (i.e track 18 -> reset routine)
	jsr	head_in
	jsr	head_out
2024-11-09 10:59
Krill

Registered: Apr 2002
Posts: 2981
Quoting tlr
The thing I found is that if anyone changes the step bits skipping the half track step, then the stepper motor may end up in an "invalid state", I guess mechanically. A subsequent normal step after that may not end up on the track you expect. I guess this is one of the reasons for the DOS implementation of "the dance".
Precisely. :)

Here's a hypothetical but quite realistic scenario:

1. File is loaded from directory track T18.
2. Stepper bits are at %10.
3. Drive is reset.
4. Stepper bits are initialised to %00, head remains on T18. Invalid state.
5. File is run.
6. DOS init reads BAM without errors, stepper bits and head position unchanged.
7. Loader steps to another track.
8. Head does not land on the expected destination track.
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Magic/Nah-Kolor
t0m3000/hf^boom!^ibx
Guests online: 133
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Coma Light 13  (9.6)
4 Edge of Disgrace  (9.6)
5 Mojo  (9.6)
6 Uncensored  (9.6)
7 The Demo Coder  (9.6)
8 Comaland 100%  (9.6)
9 Wonderland XIV  (9.6)
10 What Is The Matrix 2  (9.6)
Top onefile Demos
1 Layers  (9.7)
2 Cubic Dream  (9.6)
3 Party Elk 2  (9.6)
4 Copper Booze  (9.6)
5 Rainbow Connection  (9.5)
6 Morph  (9.5)
7 Dawnfall V1.1  (9.5)
8 Libertongo  (9.5)
9 Katzen-Video.mp4  (9.5)
10 Onscreen 5k  (9.5)
Top Groups
1 Booze Design  (9.3)
2 Oxyron  (9.3)
3 Performers  (9.3)
4 Fairlight  (9.3)
5 Triad  (9.3)
Top Webmasters
1 Sabbi  (9.8)
2 Slaygon  (9.6)
3 Perff  (9.6)
4 Morpheus  (9.4)
5 CreaMD  (9.1)

Home - Disclaimer
Copyright © No Name 2001-2025
Page generated in: 0.044 sec.