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 > Static sprite multiplexing under moving FLD
2018-12-07 22:59
Digger

Registered: Mar 2005
Posts: 437
Static sprite multiplexing under moving FLD

So, I have an 8-sprite static multiplexer under a classic moving FLD and need to switch sprite pointers at constant rasterlines.

Since FLD pushes badlines down too, the pointer switching code executes at various places (including badlines), which basically desyncs everything including the FLD itself.

Any known (and simple enough) solutions to this?
Should I try a clockslide with a delay cycles LUT to compensate?

Thanks!
Digger/ESM
2018-12-07 23:02
chatGPZ

Registered: Dec 2001
Posts: 11386
for example: you could just swap the screen location every line in the fld loop, and adjust the value from outside the table.
2018-12-07 23:10
Digger

Registered: Mar 2005
Posts: 437
Quote: for example: you could just swap the screen location every line in the fld loop, and adjust the value from outside the table.

Thanks, but no screen memory. it's for intro compo, max $4000 bytes.

Another fact, sprite pointers switches happen _after_ FLD.
2018-12-08 07:04
Oswald

Registered: Apr 2002
Posts: 5094
Quote: Thanks, but no screen memory. it's for intro compo, max $4000 bytes.

Another fact, sprite pointers switches happen _after_ FLD.


I doubt that, afaik VICII reads sprite pointers _every_ line (when sprite is present) no matter what, totally independently from bad lines. if it needs to read sprite data spr pointer read happens. hardwired behaviour.
2018-12-08 08:28
oziphantom

Registered: Oct 2014
Posts: 490
how is your raster set up, are you just burning clocks per line? Could you switch to putting the triggers on a NMI off a Timer? then use a table to switch the NMI ptr to handle the cases where you need to set ptrs, just exit, restore sprite data etc?
2018-12-08 09:32
Digger

Registered: Mar 2005
Posts: 437
@Oswald: Exactly, but I meant I have to switch my sprite pointers after FLD, at the same rasterline every time despite of various FLD offsets.
@oziphantom: Thought about timers too, but then is variable timing too, depending on the FLD and badline offset, right?
2018-12-08 09:42
oziphantom

Registered: Oct 2014
Posts: 490
I was thinking you just fire it off every line, not sure how much FLD or what type of FLD you are doing exactly. and so each timer you change the NMI handler to do what you need for that line. which might just be, dec line counter and rti
2018-12-08 13:52
chatGPZ

Registered: Dec 2001
Posts: 11386
without saying what *exactly* you are trying to do, nothing can be said :) i dont see a problem at all with switching sprite pointers _after_ FLD for that matter - just do it :)
2018-12-08 15:09
Oswald

Registered: Apr 2002
Posts: 5094
how about manipulating a speedcode from the outside, speedcode does d011, d018 access every line, but it is either lda or sta, then if you need new spritepointers you stick in an sta d018, if you are in fld you stick in sta d011's, if you are in an unfld-d char row have lda d011's instead of sta d011's. then timing is same for all lines at the price of a complicated manipulator running in the top / bottom borders.

edit: badlines will stop this from working correctly, well then some bne's to for skipping nops on badlines ? :P
2018-12-08 15:21
chatGPZ

Registered: Dec 2001
Posts: 11386
might also want to use overlapping sprite data. ever since i worked that out i use it for all kinds of things, makes "all of sprite" things like this almost trivial =)
2018-12-08 15:24
Oswald

Registered: Apr 2002
Posts: 5094
btw I remember a release from recently doing just this? fullcr sprite layer + fld ?
 
... 3 posts hidden. Click here to view all posts....
 
Previous - 1 | 2 - 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
Flashback
Shake/Role
HOL2001/Quantum
Steffan/BOOM!
diabolus
The Human Co../Maste..
Guests online: 112
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 No Listen  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Rainbow Connection  (9.5)
7 Dawnfall V1.1  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Crackers
1 Mr. Z  (9.9)
2 Antitrack  (9.8)
3 OTD  (9.8)
4 Fungus  (9.8)
5 S!R  (9.8)

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