| |
mankeli
Registered: Oct 2010 Posts: 135 |
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. |
|
... 22 posts hidden. Click here to view all posts.... |
| |
The Sarge
Registered: Aug 2002 Posts: 47 |
If you want, you can use Assembly64. It has an inbuilt "Flip Disk Player" that takes care of this for you. Multi-disk demos are started with this feature, and you don't even have to swap disks; it does this for you automatically.
The Flip Disk Player has been adjusted in most of the popular demos mitigating this problem with Ultimates right now.
https://assembly64.hackerswithstyle.se/assembly/download.html |
| |
tlr
Registered: Sep 2003 Posts: 1780 |
maybe it is due to the drive not being 'I' initialized, which more or less happens when loading something?
EDIT: could be tested by loading the first file, then power cycling the drive before doing "RUN". |
| |
chatGPZ
Registered: Dec 2001 Posts: 11327 |
Quote:maybe it is due to the drive not being 'I' initialized, which more or less happens when loading something?
good one. i remember this case was tricky to fix in chameleon :) |
| |
mankeli
Registered: Oct 2010 Posts: 135 |
Yeah, this works:
LOAD"*",8,1
RUN
But this doesn't:
LOAD"*",8,1
*drive reset*
RUN
So it's indeed the loader depending on some state on the drive. Funny, since atleast Spindle works with the Action Replay fast loader. |
| |
LordCrass
Registered: Apr 2023 Posts: 8 |
It's because of the disk ID bytes at drive memory $12/$13. A shortcut is given to execute an FDC read job, which at some point compares on-disk ID to what is expected, but what is expected hasn't been set and is just $00, so error 29 Disk ID Mismatch occurs. |
| |
tlr
Registered: Sep 2003 Posts: 1780 |
Quote: It's because of the disk ID bytes at drive memory $12/$13. A shortcut is given to execute an FDC read job, which at some point compares on-disk ID to what is expected, but what is expected hasn't been set and is just $00, so error 29 Disk ID Mismatch occurs.
Interesting! So how does this work on regular load? It still uses FDC read jobs so who sets up $12/$13?
There is the BAM flag at $1c which indicates we are not initialized so I guess that is involved somehow? |
| |
tlr
Registered: Sep 2003 Posts: 1780 |
Quote: Interesting! So how does this work on regular load? It still uses FDC read jobs so who sets up $12/$13?
There is the BAM flag at $1c which indicates we are not initialized so I guess that is involved somehow?
To answer my own question: The id always gets set up when doing a SEEK ($b0).
A regular load seems to always do initialize in the beginning of the directory search, but for loaders that do not use this a SEEK is sufficient.
That job code handling is done by the $45 check at $f3ec. |
| |
Krill
Registered: Apr 2002 Posts: 2961 |
Quoting Martin PiperI remember now, it was the transwarp example that issues a M-E with the partial just loaded file in the read buffer: Transwarp V0.84 Yes, that's part of the 2-blocks bootstrap fastload strapped in front to speed up booting the actual loader.
Was 1-block in early dev versions, but that turned out to be too slow for my purposes. =)
(You can always fall back to loading Transwarp itself via ,8+RUN not ,8,1 when autorun won't work for some reason.)
As for the problems described here, i like the concept of a multi-loader coming in a self-contained package in C-64 memory, that would function just fine when run immediately after drive reset, new disk etc. :)
Then again, no particular love for non-stock aftermarket hardware. |
| |
Burglar
Registered: Dec 2004 Posts: 1082 |
Quoting mankeliThis happens on U64 too. (Ultimate 64 Elite V1.43 - 3.11) Aerial Core for example doesn't work with mount & run, it needs run disk.
Areal Core has its own issues, it does not load on a stock c64+1541 without cartridge due to the dirart and not having the boot prg as first file.
trying to load the prg will give file not found, unless you modify the filename with ? and * |
| |
Krill
Registered: Apr 2002 Posts: 2961 |
Quoting Burglarit does not load on a stock c64+1541 without cartridge due to the dirart and not having the boot prg as first file.
trying to load the prg will give file not found, unless you modify the filename with ? and * Time to add that "disk image linting" to cc1541 we talked about recently. =) |
Previous - 1 | 2 | 3 | 4 | 5 - Next |