| |
Wile Coyote
Registered: Mar 2004 Posts: 634 |
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.... |
| |
JackAsser
Registered: Jun 2002 Posts: 1987 |
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: 5017 |
Jack, it can be multicolor chars / bitmap easily... |
| |
JackAsser
Registered: Jun 2002 Posts: 1987 |
@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: 1702 |
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: 1987 |
Ahh! Removing border AND setting single colour at the same time! Splendid! =D |
| |
tlr
Registered: Sep 2003 Posts: 1702 |
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: 1987 |
@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: 1702 |
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: 5017 |
I have never ever heard of a reset bit in d016 :) |
| |
tlr
Registered: Sep 2003 Posts: 1702 |
From mapping the c64:
Quote:Bit 5: Bit 5 controls the VIC-II chip Reset line. Setting this bit
to 1 will completely stop the video chip from operating. On older
64s, the screen will go black. It should always be set to 0 to insure
normal operation of the chip.
Maybe it's only available on the very old VIC-II's (i.e 5 luma levels).
My original c64 was one of those. (i.e 9,8,7,1,7,8,9 looks like gold!)
It's in the attic right now though.
Roland has one of them...
|
Previous - 1 | 2 | 3 | 4 | 5 - Next |