Jump to content



0

Showing 2x Sprites?


8 replies to this topic

#1 PacManPlus OFFLINE  

PacManPlus

    River Patroller

  • 3,320 posts
  • Location:Naples, Florida

Posted Sat May 14, 2005 8:40 PM

Is it possible to show sprites at twice the size on the 7800? If so, how?

Go easy on me - I'm trying to do the first intermission on my Pac-Man hack for the 7800 and I need the Pac-Man sprite to be twice the size on the second part.

Thanks in advance!
Bob

#2 kenfused OFFLINE  

kenfused

    Stargunner

  • 1,192 posts
  • Location:Columbus, Ohio

Posted Sat May 14, 2005 9:57 PM

PacManPlus, on Sat May 14, 2005 10:40 PM, said:

Is it possible to show sprites at twice the size on the 7800?  If so, how?

Go easy on me - I'm trying to do the first intermission on my Pac-Man hack for the 7800 and I need the Pac-Man sprite to be twice the size on the second part.

Thanks in advance!
Bob

View Post

You can make larger sprites but you cant scale the graphics up so you would have to create new sprite images. (you can't do a 2x or 4x zoom like on the atari 8bits (and 2600?). I don't know how easily Ms. Pacman's sprite engine could be adapted to handle the larger sprites though.

#3 DEBRO OFFLINE  

DEBRO

    Stargunner

  • 1,862 posts
  • Location:Atlanta, GA

Posted Sat May 14, 2005 11:10 PM

kenfused, on Sat May 14, 2005 11:57 PM, said:

PacManPlus, on Sat May 14, 2005 10:40 PM, said:

Is it possible to show sprites at twice the size on the 7800?  If so, how?

Go easy on me - I'm trying to do the first intermission on my Pac-Man hack for the 7800 and I need the Pac-Man sprite to be twice the size on the second part.

Thanks in advance!
Bob

View Post

You can make larger sprites but you cant scale the graphics up so you would have to create new sprite images. (you can't do a 2x or 4x zoom like on the atari 8bits (and 2600?). I don't know how easily Ms. Pacman's sprite engine could be adapted to handle the larger sprites though.

View Post

I thought there was a setting in CTRL or the Display List that would specify the number of bytes to fetch for a character. My understanding of that would be like doubling (if set to 2 bytes) the horizontal size of the character. Did I read that wrong?

#4 Schmutzpuppe OFFLINE  

Schmutzpuppe

    Dragonstomper

  • 782 posts
  • Location:Germany

Posted Sun May 15, 2005 6:26 AM

DEBRO, on Sun May 15, 2005 12:10 AM, said:

kenfused, on Sat May 14, 2005 11:57 PM, said:

PacManPlus, on Sat May 14, 2005 10:40 PM, said:

Is it possible to show sprites at twice the size on the 7800?  If so, how?

Go easy on me - I'm trying to do the first intermission on my Pac-Man hack for the 7800 and I need the Pac-Man sprite to be twice the size on the second part.

Thanks in advance!
Bob

View Post

You can make larger sprites but you cant scale the graphics up so you would have to create new sprite images. (you can't do a 2x or 4x zoom like on the atari 8bits (and 2600?). I don't know how easily Ms. Pacman's sprite engine could be adapted to handle the larger sprites though.

View Post

I thought there was a setting in CTRL or the Display List that would specify the number of bytes to fetch for a character. My understanding of that would be like doubling (if set to 2 bytes) the horizontal size of the character. Did I read that wrong?

View Post

You are right about the CW bit in the CTRL but you misinterpret it.
With CW=0 two bytes would be read if you set a width of 1.
For example if your data starts at $c000 than $c000 and $c001 would be used for the sprite.
So the width would be doubled but by using more graphic data not doubling the pixel size.

#5 DEBRO OFFLINE  

DEBRO

    Stargunner

  • 1,862 posts
  • Location:Atlanta, GA

Posted Sun May 15, 2005 2:35 PM

Schmutzpuppe, on Sun May 15, 2005 8:26 AM, said:

You are right about the CW bit in the CTRL but you misinterpret it.
With CW=0 two bytes would be read if you set a width of 1.
For example if your data starts at $c000 than $c000 and $c001 would be used for the sprite.
So the width would be doubled but by using more graphic data not doubling the pixel size.

View Post

I must have relayed my assumptions wrong. This is exactly how I thought it worked.

#6 Schmutzpuppe OFFLINE  

Schmutzpuppe

    Dragonstomper

  • 782 posts
  • Location:Germany

Posted Sun May 15, 2005 2:52 PM

DEBRO, on Sun May 15, 2005 3:35 PM, said:

Schmutzpuppe, on Sun May 15, 2005 8:26 AM, said:

You are right about the CW bit in the CTRL but you misinterpret it.
With CW=0 two bytes would be read if you set a width of 1.
For example if your data starts at $c000 than $c000 and $c001 would be used for the sprite.
So the width would be doubled but by using more graphic data not doubling the pixel size.

View Post

I must have relayed my assumptions wrong. This is exactly how I thought it worked.

View Post

Or maybe I just get it wrong...

#7 PacManPlus OFFLINE  

PacManPlus

    River Patroller

  • 3,320 posts
  • Location:Naples, Florida

Posted Sun May 15, 2005 3:53 PM

Thanks for the replies guys

I think I'm going to leave the sprite the same size and not mess with it.
:( I don't want to break something else...

#8 EricBall OFFLINE  

EricBall

    Dragonstomper

  • 711 posts
  • Location:Markham, Ontario, Canada

Posted Mon May 16, 2005 10:42 AM

CW is only applicable for indirect mode. For example, if the DL entry pointer points to $A000 MARIA then retrieves the byte at $A000 and uses it as the LSB of a pointer to the graphics data. (The MSB being the CHARBASE register + the current DLL line number.) So if CHARBASE=$80, your DLL is 16 lines high, $A000 contains $EE and CW=1 (double byte characters) then MARIA retrieves the graphics data at $8xEE and $8xEF (where x=F down to 0) and stores it at the position given in the DL entry. It the retrieves the next byte at $A001, retrieves the graphics data at $8xyy and $8xyy+1 and stores it at position+4*2(WM=0) or position+2*2 (WM=1), and so on until it reads width number of characters. (One note - the graphics data follows holey DMA, while the characters do not.)

As suggested, if you want multiple size sprites, you have to have separate graphics data for each size. No MIP maps for MARIA.

#9 supercat OFFLINE  

supercat

    Quadrunner

  • 6,367 posts

Posted Mon Jun 20, 2005 10:38 PM

PacManPlus, on Sat May 14, 2005 9:40 PM, said:

Is it possible to show sprites at twice the size on the 7800?  If so, how?

View Post


Although the 7800 supports modes with 1 or 2 bits per small pixel, or 2 or 4 bits per large pixel, the ordering of the bits is different in the different modes. Consequently, the only way to show big sprites is to have data which is sized appropriately. If you're doing a Pac-man intermission, though, this is not a bad thing--a larger "smooth" sprite would be nicer than a blocky magnified one anyway.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users