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 Productions > Limitations - Sprites in the Borders
2006-08-26 19:38
Wile Coyote
Account closed

Registered: Mar 2004
Posts: 646
Limitations - Sprites in the Borders

hello,

I was thinking, has anyone drawn up a doc with (pictures :)explaining *all known* possibilities with placing sprites into the border areas of the screen.

I know:
8 sprites can be placed in the upper and lower borders.
7 sprites can be placed in the side borders.

I was thinking, what about the corner borders,is that classed as a sideborder or a top or bottom border (8 sprites).

Another question :) when 7 sprites are placed into the sideborders can the 8th free sprite be placed into the main (center) screen areas or by opening up the side borders, is the option for an 8th sprite not available.

I am asking these questions as i am thinking about designs that use the border areas :)

thanks
/wec
 
... 35 posts hidden. Click here to view all posts....
 
2006-08-28 10:36
Jetboy

Registered: Jul 2006
Posts: 242
Sorry for double posting.

At least now i finaly understand why opening sideborders works.
2006-08-29 06:43
Style

Registered: Jun 2004
Posts: 498
why was it so hard to understand? :)
2016-03-09 13:26
Smasher

Registered: Feb 2003
Posts: 512
oh yeah, 10 yrs later necro-posting! :)
so: sideborder sprites at badline, using no fld or similar tricks, no reu (hehe), etc... 4 is still the practical not theoretical max you can get, or?
2016-03-09 15:30
Flavioweb

Registered: Nov 2011
Posts: 447
If i understand things correctly, is possible to have 7 sprites (from 0 to 6) using INC $D016 at cycle 10 of the line (because of last 2 Write cycles of INC) to open border:
./victimer -b -s 127
  |                  1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 |
0 |1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 |
  |                   |===========01020304050607080910111213141516171819202122232425262728293031323334 353637383940===========|   |
--|----------------------------------------------------------------------------- -------------------------------------------------|
  |                 x x x W W W                                                                                 W W w            |
  |                    r r r r rcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgc g                 |
ss|3sss4sss5sss6sss7                                                                                                 0sss1sss2sss|
  |                  i                                                                                           i i             |
--|----------------------------------------------------------------------------- -------------------------------------------------|
  |                                ^(close sideborder)                                                           ^(open sideborder)
  |                           ^---FLI----------------->                                                      ^-----^(double line)  
  |                             ^---DMA Delay--------------------------------------------------------------^                       

 badline  sprenable=7f 
CPU:  3 (+ 5= 8) 
VIC: 54 (+ 1=55)
     63

x    - CPU regular cycles
W    - CPU write cycles
w    - CPU 3rd write cycle
c    - VIC video ram
g    - VIC color ram
0..7 - VIC sprite pointer fetches
s    - VIC sprite data accesses
i    - VIC idle accesses
2016-03-09 16:43
Joe

Registered: Apr 2002
Posts: 224
You can do quite a lot with the restrictions. Here are two examples from last year, coded by Firehawk/Hoaxers.

Disconnect, October
2016-03-09 20:23
soci

Registered: Sep 2003
Posts: 474
If i understand things correctly, is possible to have 7 sprites (from 0 to 6)

I assume PAL VIC-II here.

It's not sprites 0 to 6 but 1 to 7 and can be done with a SCPU for example. (Popel Premiere)

Once I've tried to write between the end of character DMA and sprite 0 DMA (using custom hardware) but it's futile. AEC is low in that "gap" so the write ends up in RAM and not in the VIC-II.

So it seems the maximum is 7 sprites on a bad line if you want to open the border with a PAL VIC-II.

No I haven't tried to route around the PLA to see if the VIC-II accepts the write or not. Went too far already ;)

However with a NTSC VIC-II it might work as there's a wider gap and even BA opens for a cycle.

Did anyone tried 8 sprites with open border and badlines on NTSC using a SCPU? In VICE it seems doable, but it does not mean it really can be done.

It could be a world-first! ;)
2019-06-25 20:12
Oswald

Registered: Apr 2002
Posts: 5034
8 sprites without badlines is not possible? sprite 0 conflicts with the d016 write needed ?
2019-06-25 20:27
Compyx

Registered: Jan 2005
Posts: 631
Nah. 8 sprites is very well possible without badlines. Just use any RMW instruction to avoid the sprite 0 DMA,ie DEC $D016: INC $D016.
2022-11-15 20:49
Digger

Registered: Mar 2005
Posts: 422
Resurrecting this thread.

Any examples of:

8 sprites over no-badline bitmap (duplicated first charline color RAM attributes)
with side borders
no line-crunching

?
2022-11-15 21:25
Mixer

Registered: Apr 2008
Posts: 427
>8 sprites over no-badline bitmap (duplicated first charline color RAM attributes)

I believe that the line repeat and side border opening cannot be done at the same time as the line repeat needs to be done around the cycles where the border is opened. At least not on stock c-64. Not sure about REU.
Previous - 1 | 2 | 3 | 4 | 5 - 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
Clayboy
McMeatLoaf
Guests online: 57
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 Original Suppliers
1 Black Beard  (9.7)
2 Derbyshire Ram  (9.5)
3 Fungus  (9.3)
4 hedning  (9.2)
5 Baracuda  (9.1)

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