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 > Four split rasterbar with moving color and music
2009-10-28 20:56
8bitforever
Account closed

Registered: Oct 2009
Posts: 48
Four split rasterbar with moving color and music

Eight hours ago I proudly coded a wonderful stable four split rasterbar with the colors moving within the rasterbar with different timing.
The stable raster was provided by http://www.ffd2.com/fridge/vic/stableraster.txt.

Three hours ago I got the idea to play some music to.
I tried to place jsr $1003 in irq3. I tried to place jsr $1003 in the main or hold loop and start it at a specific raster location. The music plays fine with both methods but my wonderful four split rasterbar starting location seems to move by 1 or 2 cycles. This makes the rasterbar move slightly to the right and back. It almost moves to the music.

Question 1) What is the reason for this ?
Question 2) What can be done to make it stable again ?




 
... 16 posts hidden. Click here to view all posts....
 
2009-10-28 22:33
Stryyker

Registered: Dec 2001
Posts: 465
Look for what a proper stable raster interrupt is. There have been discussions on this forum about them. I found double interrupt the easiest to use especially if there are no sprites. There are some docs somewhere that description what the processor does when an interrupt is triggered.

I suspect what has happened is without the music the rest of the code falls in to nice cycle use. Music will be much more variable.

Do you use PAL or NTSC configurations?
2009-10-28 22:49
8bitforever
Account closed

Registered: Oct 2009
Posts: 48

Stryyker, I use PAL.
Yes, the split rasterbars are perfect without the music.
Where should I put the music to be able to handle it´s variable cycles ?
The music seems to push the starting point of the rasterbar by one or two cycles variable. The rasterbar jumps to the right and then back.
The rasterbar is in irq2.
The music in irq3.
2009-10-28 23:11
8bitforever
Account closed

Registered: Oct 2009
Posts: 48
Thanks PAL, :-)

You lead me to it Stryyker !

The NOP:s I forgot to remove in fungus code.
; nop ;<--- remove 1 NOP for PAL

Very simple !
Problem Solved.
Now the music plays and the split rasterbar is stable.



2009-10-28 23:48
plagueis
Account closed

Registered: Dec 2007
Posts: 48
Nice, a little bit longer and you would have solved that completely on your own.

Here's something that will help you with simple visualization of basic timing issues:

In your IRQ's (or $d012 wait loops) do this:

IRQ:

inc $d020
jsr music
dec $d020

dec $d020
jsr effect
inc $d020

...
etc.

This will help you determine how much raster time a subroutine takes up, and where in the frame it occurs. Also, it will point out on what line a raster collision between two routines occurs. This is a common basic technique, known to basically everyone when they are starting out. Many people told me about this simple technique and showed it to me 2 years ago when I was starting out, and it is well known. It helps greatly for NTSC/PAL fixing projects as well. Of course, beginning to familiarize yourself with how many cycles common opcodes use in their various addressing modes is the most beneficial toward this end.

-DP
2009-10-29 12:53
pmc
Account closed

Registered: Sep 2009
Posts: 5
@ Darth Plagueis - I couldn't agree more with the things you said about the process of learning to code.

I've been coding for about two years now too - my stuff is mainly on the Amiga - I'm in the process of working on a megademo for A500 with a couple of other guys that will be released soon we hope.

I did do a 1x1 scroller for the C64 a while back though in KickAssembler and read the VIC article and some other things cos I'd like to maybe do something for the C64 too one day.

When I code something I, just like you, code it *myself* and if I ask for help I want pointers, not a slab of source code that I don't understand to paste onto the screen and kid myself I'm a coder... There's no fun in that and whatever got produced that way would only ever be one thing: L A M E

I personally think that coding the C64 is a real challange with all the cycle exact requirements and tricks you can do with the hardware and stuff and I'm always really impressed by what all the guys on here can do with that cool little machine.

Anyways, I'll stop rambling now.

Keep going with your coding journey DP - I enjoyed your Hallowfoe demo and I hope there's more to come! :-)
2009-10-29 16:09
plagueis
Account closed

Registered: Dec 2007
Posts: 48
PMC,

Thank you for your compliments regarding FOE's recent release. The Phantom's sprite DYCP in the borders was something really nice too, and his methods for stabilization are quite different than mine, yet his code works just as well.

Yeah, regarding the cut and paste coding...he'll only damage his own fun by taking this route...and true, some of what he's said and done is the very definition of lameness, yet - I can't well complain about that type of behavior unless I (esp. as a new/intermediate coder) have tried to do or say something to guide him in a more productive direction. Well, I've done that (both in PM and on the forum), and he seems to have ignored the bulk of what I've said, not to mention the others who have given the advice of shutting up and starting at the beginning. So, I suppose for now, he's on his own.

-DP
2009-10-29 16:22
Oswald

Registered: Apr 2002
Posts: 5034
I have used little routines I havent coded myself ever since I started coding. The very first one I had no idea how worked, did set up an irq. Still it did not stop me making my rasterbars, fld (also ripped without knowing how works), split rasters (also ripped) etc. Even today I dont know how the loader works, the music works, how the packer & depacker works I use, and often use Ninja's help (=routines) on timing critical stuff.

Stop with the witchhunt please. The guy has moved from rasters to 4 rastersplit within days, thats a nice progress and shows enough willingness to learn IMHO. If he could do that he will work out how a stable raster works aswell. WHEN he feels/needs/wants to.
2009-10-29 16:27
plagueis
Account closed

Registered: Dec 2007
Posts: 48
Oswald,

It's not a witch hunt. I'm a dude who has only released a few demos, and tried to give advice to a guy who actually asked me for it in several PM's. I thought he would be more receptive if the discourse was continued here where he could receive a diversity of opinions. I thought he could benefit from the words of a less experienced coder. I was being semi-harsh but honest.

Funny that you would choose now to try and force the thread closed, yet when you scroll up you see veteran sceners completely engaged in sarcastic ridicule.

I gave honest advice. You had seen what was to be my last post. But I'm not going to be accused of engaging in a witch hunt. I was trying to give novice to novice advice.

-DP
2009-10-29 16:32
chatGPZ

Registered: Dec 2001
Posts: 11164
come on. you DO know how a loader works, i am very sure. and i am also sure you could code one yourself if you wanted. this is even more true for a music player. knowing how something works doesnt mean to know every register setting by heart, or beeing able to code it from scratch without looking at some references. it means to understand the basic problem and getting the idea on how to solve it. and someone who copies stable rastercode verbatim, and then patches the irq vectors from $fffe to $0314, and then wonders why adding music makes it unstable again, obviously didnt understand either.

also the fact that many of us (me too) started by ripping and blindly using code from others doesnt mean that its a good thing, and that actually learning it properly isnt a better idea. dont forget that back in the days the reason for doing it like we did wasnt that we didnt want to know how it works, but because noone was there who could explain it to us. atleast for me it was like that :)
2009-10-29 16:53
plagueis
Account closed

Registered: Dec 2007
Posts: 48
Oswald,

I would like to kindly point out that 8bit moved from rasters to 4 split rasters 45 minutes after he asked me how to code them, as he'd seen a part I released with splits in it. I said:

"You change $d021/20, but do it more than once per line"

less than an hour later he claimed success. I didn't give him any of my code, but I pointed out he could load my demo and hit the button on his cartridge. All the code would be there.

Also, look at post #11 in this forum. I give sincere help to the guy...a snippet of non-proprietary code for his toolkit which really helped me when I was starting out to visualize raster time and position.

-DP
Previous - 1 | 2 | 3 - 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
wil
bugjam
Dr. Doom/RAD
LightSide
Hend/Protovision (ptv)
A3/AFL
Alakran_64
megasoftargentina
Sokratekk
Didi/Laxity
kenchis
Guests online: 85
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.7)
5 Edge of Disgrace  (9.6)
6 Comaland 100%  (9.6)
7 Uncensored  (9.6)
8 No Bounds  (9.6)
9 Aliens in Wonderland  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 Cubic Dream  (9.6)
3 Party Elk 2  (9.6)
4 Copper Booze  (9.6)
5 Rainbow Connection  (9.5)
6 It's More Fun to Com..  (9.5)
7 Dawnfall V1.1  (9.5)
8 Birth of a Flower  (9.5)
9 Daah, Those Acid Pil..  (9.5)
10 Quadrants  (9.5)
Top Groups
1 Nostalgia  (9.4)
2 Oxyron  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Offence  (9.3)
Top Logo Graphicians
1 Sander  (9.9)
2 Facet  (9.5)
3 Mermaid  (9.4)
4 Pal  (9.4)
5 Shine  (9.3)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.045 sec.