| |
madman68 Account closed
Registered: Apr 2011 Posts: 20 |
Spritepointer to $1000 problem
Hello,
Maybe im dumb....probably but when i put my spritedata at $1000 and higher and i put my spritepointer at $07f8 on $40 (which would mean it points to 64x64 = 4096 = $1000) the data is not in the sprite??
I can not figure this out as it seems correct to me and this priciple works below $1000.
Please can anyone help me before i lose it? :) |
|
| |
T.M.R Account closed
Registered: Dec 2001 Posts: 749 |
Quoting madman68 Maybe im dumb....probably but when i put my spritedata at $1000 and higher and i put my spritepointer at $07f8 on $40 (which would mean it points to 64x64 = 4096 = $1000) the data is not in the sprite??
There's a shadow of the ROM character set at $1000 to $1fff - pointing sprites to that memory will display the character data (suitably mangled because it's a different "shape") rather than what's in the RAM under that shadow.
|
| |
madman68 Account closed
Registered: Apr 2011 Posts: 20 |
Is there no way to use this area for sprite data then?
Its so strange that this occurs, as in for example the programmers guide tells the spritepointers can be pointed to the whole 1th block.... |
| |
Mr. SID
Registered: Jan 2003 Posts: 424 |
Not just sprites, but no VIC data can be at $1000 to $1fff and also $9000 to $9fff. Pick a different VIC bank. The one at $4000 is fully useable, and so is the one at $c000, if you don't need to read-modify-write your data all the time. |
| |
madman68 Account closed
Registered: Apr 2011 Posts: 20 |
Ok then, thanx for the info, i did not know this.
I will use $4000 or $c000.
Thanx again! |
| |
ready.
Registered: Feb 2003 Posts: 441 |
that's why most SIDs are at located from $1000 :) |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
Hah! I'd never realised that that was why so many SIDs were located there. Obvious in hindsight. |
| |
Digger
Registered: Mar 2005 Posts: 437 |
There was an Action Replay cartridge trick that you could have a font located at $1000 or $9000. I think it was discovered by Morris
Something to do with AR moving stuff around to it's internal memory when you've pressed the Freezer button. Can't remember exactly how it worked though. Anyone? |
| |
Fresh
Registered: Jan 2005 Posts: 101 |
IIRC it involves setting a bit in $DE00 (bit 0?) to put c64 in ultimax mode: this way VIC accesses only RAM (btw with all known limitation in cpu addressing range). |
| |
Morris
Registered: Sep 2005 Posts: 2 |
The trick Digger mentioned was used in a hidden part of one of Agony demos. Can't remember which one it was, though. Gotta do some diggin' ;) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
Pain
10 points for whoever explains how exactly the triggering of the hidden part works - we are still wondering =) |
| |
Digger
Registered: Mar 2005 Posts: 437 |
Ah, that awesome Skyle hires picture + logo these were the days :) |
| |
algorithm
Registered: May 2002 Posts: 705 |
Ah temporal dither with alternating pixels to minimise the flicker. Hires bitmap mode with same ink paper cols each frame. Could have been done without having to use two screens flicking by utilizing sprite underway or overlays etc
|
| |
algorithm
Registered: May 2002 Posts: 705 |
Quote: Is there no way to use this area for sprite data then?
Its so strange that this occurs, as in for example the programmers guide tells the spritepointers can be pointed to the whole 1th block....
The programmers reference guide is correct. however gfx data pointed to this areas would use the charset definitions. You can place any data there of course but gfx data would need to be transferred somewhere else to be displayable. |