| |
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.... |
| |
Oswald
Registered: Apr 2002 Posts: 5086 |
in the dont meet crest note there are simply NO badlines :D I may be wrong here, but AFAIK it uses linecrunch, which is normally used to scroll the screen upwards, but you can also display with it about 56 different gfx lines (switching amongst csets and banks). well someone else will explain it more deeply :) |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: The height thing, i thought the benefit could be from the added color made available :)
So how do you explain the note to *Don't Meet Crest*
There appears to be a character logo, rasterbars and 7 sprites. The sprites bunch up and appear to overlap each other and enter into the side borders. Mind you it could be an illusion, as while the 7 sprites appear to be on the same horizontal line, the sprites bunch up as they enter the side border, so maybe only 4 sprites are in the one location.
Havn't checked the code, but I say this is a classic example of avoiding badline. If I would have done it I would have chosen ECM mode. And at every 7th line repeat the char row to avoid bad lines, switch $dd00 and $d018 to select graphics. To get the borders brown I would have used a character with the third BG-color in ECM mode and let it be brown, at char column 39. Remeber the bgcolor of the char in column 39 defines the color of the border "under" the normal border, both in bitmap and in ECM mode. (bg color of a char in normal char mode is always $d021, but can vary in bitmap and in ECM mode).
But then again, I'm perhaps completly off here, it is still Crossbow code... :D
edit: forget about bitmap and ECM.... that's in single color only... :D someone else crack this...
|
| |
Oswald
Registered: Apr 2002 Posts: 5086 |
Jack, it can be multicolor chars / bitmap easily... |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
@oswald: indeed, just not switch gfx every line, but every 7th line. But how do you get the borders brown (and open) without using ECM or hires bitmap? Does he really put a $d021 split there?
|
| |
tlr
Registered: Sep 2003 Posts: 1787 |
Quote: @oswald: indeed, just not switch gfx every line, but every 7th line. But how do you get the borders brown (and open) without using ECM or hires bitmap? Does he really put a $d021 split there?
Yes, split...
x=$0b
sta $d016,x
:) |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Ahh! Removing border AND setting single colour at the same time! Splendid! =D |
| |
tlr
Registered: Sep 2003 Posts: 1787 |
Quote: Ahh! Removing border AND setting single colour at the same time! Splendid! =D
Actually I'm not so sure that X is $0b anymore. I kind of misread it. I'll look some more. ($1200)
EDIT: Actually it looks like it is a Multicolor bitmap with two $d021 split points.
What are the criteria for the color below the border in this case?
Is it the last one present before the border, or something else?
|
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
@tlr: uhm, still havn't checked the code but if you, when opening the borders also disabled multicolor, then the border color will be fetched from the bg-nybble of the screen data. Then when you changed d016 again u simply at the same time switch back multicolor mode. Hence you open the border AND change bg-color of the border at the same time. I.e. no $d021 involved at all. |
| |
tlr
Registered: Sep 2003 Posts: 1787 |
He loads $d016 with $1f.
Border open is inc $d016, and then later $1f => sta $d016,x.
This does what you say, but $20 is defined as the reset bit in my books (which seems to do nothing in VICE).
Is this safe on all revisions of the VIC-II?
|
| |
Oswald
Registered: Apr 2002 Posts: 5086 |
I have never ever heard of a reset bit in d016 :) |
Previous - 1 | 2 | 3 | 4 | 5 - Next |