| |
Aomeba
Registered: Jul 2005 Posts: 22 |
Dekadence loader & disc side change (1541u)
Hey everyone,
Siesta is working on a new demo for X2016, and the side A is 100% finished except that we're having trouble mounting side B with 1541u. Adder, our coder, is using the Dekadence Loader
What's the common protocol for these automatic disc side detects with 1541u?
We've been out for 20 years so please teach us.. |
|
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
all common methods should work, if not - contact gideon so he can fix the damn thing =)
a common fault however is to check the (real) disk id for disk changes - that will fail if the ID in the directory is the same on both sides (because emulators, and 1541u, reuse that id for the disk-id when using d64s) |
| |
Adder
Registered: Mar 2016 Posts: 14 |
yes we are doing a demo to release at x-2016.
we use for side a a loader called Dekadence from SounDemoN.
the problem that the program has is the flip disc via *mount* on ultimate 2.
if we mount a disc ..after that the loader isnt useable.
so a reset of floppy is needed for using the init-routine of Dekadence again .. because we can only one time install the Dekadenz.
what can we do |
| |
Adder
Registered: Mar 2016 Posts: 14 |
sorry .. but i'm no 1541 coder!
is there a possibility to 'jsr reset floppy'? |
| |
Burglar
Registered: Dec 2004 Posts: 1101 |
soundemon is around, is he not? I'm sure he'll help out here |
| |
Adder
Registered: Mar 2016 Posts: 14 |
I can prove that it is not on the id's.
when i try to mount floppy 2 times it doesn't make a difference. |
| |
Burglar
Registered: Dec 2004 Posts: 1101 |
one big tip, make sure side 2 also has a bootfile, so the demo can be started there as well in case the flipdisk fails. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
also keep in mind that disk changing via the menu _IS_ prone to errors and will randomly fail (or not so randomly if you are for example using some timer-irq driven stuff in the turn disk part).
first of all make sure it works on a real drive - if it then doesnt work on 1541u, most likely its not your fault. |
| |
Adder
Registered: Mar 2016 Posts: 14 |
@Burglar
we have a .d64 with running file
@Groepaz
i believe that the demo runs on real disk..
there is a flip disc and the loader doesn't changes |
| |
Adder
Registered: Mar 2016 Posts: 14 |
@Burglar.. we played with the idea to make side 2 runnable.. it will be so
Thanks for that info .. may it helps at the competition too |
| |
Mixer
Registered: Apr 2008 Posts: 452 |
Afaik the dkd loader does not have a flip disk detection. It does not have special command for reloading the directory, but there is a reset command, if I recall it correctly.
Loader was used for example in Vicious Sid demo. The turn disk part asks to flip disk and press space and then it starts from side 2. |
| |
Adder
Registered: Mar 2016 Posts: 14 |
hi @Mixer no problem with detection.. we have the "Reset" lda#$ff , jsr $0100
after that the loader didn't come around with reading a file or init loader.
there must be a way for reseting the 1541 |
| |
Mixer
Registered: Apr 2008 Posts: 452 |
Looked at the dkdloader code and the "reset", aka. the lda #$ff or any number with 8th bit up in accu while calling the loader should cause the loader to call the 1541 hardware reset vector JMP ($FFFC), which should reset the 1541 to its basic state. So, after that one should be able to do kernel 1541 stuff as usual or reupload the loader.
Whether it works with 1541u or emulation is another matter. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
one thing to consider at this point: you must wait for about 1 or 2 seconds after resetting the drive - if you try to transfer anything during that period the kernal IEC routines will lock up |
| |
Aomeba
Registered: Jul 2005 Posts: 22 |
Thank you all! Some good points already brought up, we hope they fix our issue. |
| |
Dano
Registered: Jul 2004 Posts: 234 |
If everything fails there are other loaders which might do their job, too like bitfire from bitbreaker? |
| |
HCL
Registered: Feb 2003 Posts: 728 |
..and there is a good loader from Booze Design also. Just as off topic as BitFire :P |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
easyer to fix the issue than change loader. imho. also check on real hw firt. |
| |
Adder
Registered: Mar 2016 Posts: 14 |
first thank you all..
i tried to wait after reset for 5 seconds .. after that call the init-routine,
and the *ultimate floppy* is shining for a short time..
so it seems that the loader is reinitialized..
after that.. try to load (after waiting some seconds) but now the load function hangs.. |
| |
Adder
Registered: Mar 2016 Posts: 14 |
what can i do ??? |
| |
Mixer
Registered: Apr 2008 Posts: 452 |
First thing the loader in 1541 side does is that it reads the directory, I assume that the U1541 flashes due to that. The files are again numbered according to the file order in dir, and loader can be called with lda nr jsr loader.
So, why would it stop working?
a) something messing with dd00 at c-64 side
b) wrong filename/number
c) "disk error"
d) init has failed for unknown reason.
e) 1541u
Vice monitor can be used to debug the drive too. |
| |
Adder
Registered: Mar 2016 Posts: 14 |
thanx @Mixer
a) something messing with dd00 at c-64 side -- not in test version
b) wrong filename/number -- not in test version
c) "disk error" -- not with before cleaned .d64
d) init has failed for unknown reason. -- may be
e) 1541u -- i'm nearly sure |
| |
Adder
Registered: Mar 2016 Posts: 14 |
1541 ultimate .. i mounted before init the loader ( lda#2 jsr$3800) |
| |
Adder
Registered: Mar 2016 Posts: 14 |
sorry
1541 ultimate .. i mounted before init the loader ( lda#1 jsr$3800) |