Commodore 64 (C64) Forum Index
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
Help with Flashy loaders for discs

 
Post new topic   Reply to topic    Commodore 64 (C64) Forum Index -> Scene
View previous topic :: View next topic  
Author Message
lobogris
Über Groupie
Über Groupie


Joined: 15 Feb 2008
Age: 36
Posts: 300
Location: Barcelona, Spain Compiler: Kickassembler

PostPosted: Thu Nov 17, 2011 10:49 pm    Post subject: Help with Flashy loaders for discs Reply with quote

Hi!

I've made a "flashy" loader (supported with kernal routines) for the spanish recent new game MKII (click to find it on CSDB), and I am not 100% happy with the results (specially on the real C64).

I know that on disc we can do little to make cooler effects as the tape loaders, because diferent timings of this two different peripherals, but I think it could be improved a little. A good example of what I need to achieve can be seen in the recent Psytronik's release, in Sheephoids disc loader.

In my routine I've implemented this logic: "inc $d020, load a byte from disc, then dec $d020" without waiting any precise raster beam, because I don't know what precise raster line I must wait or what is the correct algorithm to achieve a cooler effect.I've tried waiting certain raster lines but it's still ugly... Perhaps should I use interrupts to time it correcly?

I'm not a 1541 expert (It's crazy to manage all the programming aspects of a game!) and I need help from disc loader experts!

Many thanks.
_________________
Back to top
View user's profile Send private message Visit poster's website Yahoo Messenger
lobogris
Über Groupie
Über Groupie


Joined: 15 Feb 2008
Age: 36
Posts: 300
Location: Barcelona, Spain Compiler: Kickassembler

PostPosted: Fri Nov 25, 2011 12:27 pm    Post subject: Reply with quote

Hi ? Nobody knows nothing about ? Shocked
_________________
Back to top
View user's profile Send private message Visit poster's website Yahoo Messenger
groepaz
Immortal Grandmaster of C64
Immortal Grandmaster of C64


Joined: 13 Oct 2004
Posts: 4697

PostPosted: Fri Nov 25, 2011 12:45 pm    Post subject: Reply with quote

what exactly do you want to do anyway?

i wouldnt do serial/byte-get based loading as you describe, as that is very slow. better hook the "stop" vector, and then do some flickering there.

other than that, for more advanced effects, you probably want to use some irq loader - then you can do whatever you want while loading.
_________________
Back to top
View user's profile Send private message
lobogris
Über Groupie
Über Groupie


Joined: 15 Feb 2008
Age: 36
Posts: 300
Location: Barcelona, Spain Compiler: Kickassembler

PostPosted: Fri Nov 25, 2011 1:05 pm    Post subject: Reply with quote

groepaz wrote:
what exactly do you want to do anyway?


As I said, I want to improve my routine of the MKII disc loader to be seen as cool as the Sheephoid one regarding the flashy lines...

groepaz wrote:

i wouldnt do serial/byte-get based loading as you describe, as that is very slow. better hook the "stop" vector, and then do some flickering there.

Yes I know it will be slow, but for small program sizes it won't be a problem.
By the way: What's the "stop" vector?

Now I'm mainly focused to achieve a good timed flash lines effect, later maybe I'll improve it with better fast loading and that...

groepaz wrote:

other than that, for more advanced effects, you probably want to use some irq loader - then you can do whatever you want while loading.


I know I can use many irq fast loaders (that one by Cadaver for example), I tried it, but are a little complex to work with them and I haven't a lot of time to explore big chunks of code of another person, or to read 1541 tech books... (I will do that some day! but not now)

Thanks for your answer Groepaz, it is very appreciated!
_________________
Back to top
View user's profile Send private message Visit poster's website Yahoo Messenger
groepaz
Immortal Grandmaster of C64
Immortal Grandmaster of C64


Joined: 13 Oct 2004
Posts: 4697

PostPosted: Fri Nov 25, 2011 1:16 pm    Post subject: Reply with quote

Quote:
Apart some people use turbo disc loaders that hook in kernal routines like FC cart does,

NO! thats the point. using serial byte get (instead of LOAD) means that most fastloaders will be bypassed and you will use the standard slow kernal routines. (from the popular fastloaders, only jiffy dos accelerates byte-get)

Quote:
By the way: What's the "hook" vector?

the stop vector at $0328 ... you can point it to your own routine which does d020 flickering (or whatever), and then you can use LOAD instead of byte-get. and THEN automagically fastloaders like the one from AR or FC will work.
_________________
Back to top
View user's profile Send private message
lobogris
Über Groupie
Über Groupie


Joined: 15 Feb 2008
Age: 36
Posts: 300
Location: Barcelona, Spain Compiler: Kickassembler

PostPosted: Fri Nov 25, 2011 1:41 pm    Post subject: Reply with quote

You are telling me to use the LOAD kernal routine to call a load of a file, and before that, hook a flashy routine touching ISTOP vector to point to this routine....

So the ISTOP routine will be called in correct timing while kernal LOAD ($F49E) is executing, flashing the lines...

Isn't it ?
_________________
Back to top
View user's profile Send private message Visit poster's website Yahoo Messenger
groepaz
Immortal Grandmaster of C64
Immortal Grandmaster of C64


Joined: 13 Oct 2004
Posts: 4697

PostPosted: Fri Nov 25, 2011 1:57 pm    Post subject: Reply with quote

it will be called every once a while, yes. there is no "correct timing" at this point Smile
_________________
Back to top
View user's profile Send private message
lobogris
Über Groupie
Über Groupie


Joined: 15 Feb 2008
Age: 36
Posts: 300
Location: Barcelona, Spain Compiler: Kickassembler

PostPosted: Fri Nov 25, 2011 2:01 pm    Post subject: Reply with quote

cool, not correct but it will be called with some degree of order... Razz

Thanks friend, I'll try it soon!
_________________
Back to top
View user's profile Send private message Visit poster's website Yahoo Messenger
Hend
Lemon64 Donator!
Lemon64 Donator!


Joined: 08 Jan 2004
Age: 37
Posts: 887
Location: United Kingdom Fave game: Turrican II

PostPosted: Fri Nov 25, 2011 10:11 pm    Post subject: Reply with quote

Smart flashy border or not, looking forward to trying the English version Smile
Back to top
View user's profile Send private message
lobogris
Über Groupie
Über Groupie


Joined: 15 Feb 2008
Age: 36
Posts: 300
Location: Barcelona, Spain Compiler: Kickassembler

PostPosted: Sat Nov 26, 2011 11:25 am    Post subject: Reply with quote

Laughing we are working on it !
_________________
Back to top
View user's profile Send private message Visit poster's website Yahoo Messenger
MartinPiper
Groupie
Groupie


Joined: 11 Jun 2007
Posts: 169

PostPosted: Sun Nov 27, 2011 6:02 am    Post subject: Reply with quote

I think Sheepoid used one of my loaders. Berzerk Redux also used a disc loader.
You can get the source from http://www.wellytop.com/C64.html
Back to top
View user's profile Send private message
lobogris
Über Groupie
Über Groupie


Joined: 15 Feb 2008
Age: 36
Posts: 300
Location: Barcelona, Spain Compiler: Kickassembler

PostPosted: Sun Nov 27, 2011 3:38 pm    Post subject: Reply with quote

Thanks Martin! Wink I will take a look too... That's a cool & interesting pile of sources.

I have just enjoyed some games on berkerk's redux (pretty funny, I love that samples) "Intruder, Intruder ... Destroy the humanoid"
_________________
Back to top
View user's profile Send private message Visit poster's website Yahoo Messenger
Display posts from previous:   
Post new topic   Reply to topic    Commodore 64 (C64) Forum Index -> Scene All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Tip: Get C64 Forever for super-comfy C64 emulation with pre-installed games, demos and other goodies!


Powered by phpBB © 2001, 2005 phpBB Group