Increased Sprite Plane to a larger range than 512 (horizontal).

Ask anything your want about Megadrive/Genesis programming.

Moderator: BigEvilCorporation

Post Reply
siudym
Interested
Posts: 14
Joined: Thu Feb 24, 2022 9:26 am

Increased Sprite Plane to a larger range than 512 (horizontal).

Post by siudym »

Is it possible to increase the Sprite Plane to 128x the TileMap Layer (1024-Pixel)?

I tried to make a scrolled Screen of 128x32 (1024x256) in the Horizontal and I noticed that the Sprites at the beginning of the Screen duplicate their presence in the further part of it (Sprites Plan is probably 512x512 now?).

Is there anything I can do with it?

This is the first time I'm making something scrolled on SMD.

Attached is a demo (.BIN) - Going right will make the Sprites from the beginning of the screen reappear.
Attachments
Plane_128x32.zip
(66.26 KiB) Downloaded 47 times
TmEE co.(TM)
Very interested
Posts: 2451
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Re: Increased Sprite Plane to a larger range than 512 (horizontal).

Post by TmEE co.(TM) »

It is not possible to extend the sprite area wider, you have to manually cull out stuff that's off screen to prevent them from becoming visible due to coordinate wraparound etc.
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
siudym
Interested
Posts: 14
Joined: Thu Feb 24, 2022 9:26 am

Re: Increased Sprite Plane to a larger range than 512 (horizontal).

Post by siudym »

Ok thanks. Another thing: Is it possible to move the sprite plan edge so that, for example, the top position of a sprite on the edge does not start at +128 ($80) but, for example, at 0000?
TmEE co.(TM)
Very interested
Posts: 2451
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Re: Increased Sprite Plane to a larger range than 512 (horizontal).

Post by TmEE co.(TM) »

No, this is all fixed in hardware and cannot be changed in any way.
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
siudym
Interested
Posts: 14
Joined: Thu Feb 24, 2022 9:26 am

Re: Increased Sprite Plane to a larger range than 512 (horizontal).

Post by siudym »

I managed to do it in a simple way. On Sega it is very useful that despite the physical limitation of the sprite plan to 512x512, the X/Y coordinates are FULLY 16-bit, i.e. each increase/decrease of the X/Y value is in the range 0000-FFFF (only every 512th sprite is "wrapped"). I did a simple check if the sprite is in the visible range of the window, i.e. 128-432 (+ added 32pix margin left/right), if so, it stays on the screen, if NOT, it adds 256 to the Y value to "throw it" to the lower, invisible part of the plan (when it appears in the "window" range again, it subtracts 256 from Y). Of course, the collision code is also corrected so that even if the sprite jumps to +256 Y, collisions will be calculated relative to the higher plane (correction -256).

Video:

https://www.youtube.com/watch?v=cn4Y6H25PdA
.
https://www.youtube.com/watch?v=SKHNiErIK2Q

.
Attachments
demoH.zip
bin sega ROM
(68.02 KiB) Downloaded 36 times
demo.zip
bin sega ROM
(67.1 KiB) Downloaded 42 times
Post Reply