Jump to content
IGNORED

Chained vs. un-chained SCBs


42bs

Recommended Posts

This is one of my early attempts to use chains when I started getting into Lynx.

LOTS OF THEM. More than 300 in this case. The sprites mimic C64 characters and are a mere 8x8 pixel in size.

The screen scrolls in pixel steps. Press Button A or B while moving for faster scrolling.

The map is quite large! It consists of (iirc) 96x85 tiles. Each tile is 32x32 pixel large and consists of 4x4 characters a 8x8 pixel.

The full level is 3072 x 2720 pixel large and stored as those aforementioned pointers into pointers into pointers and thus fits into those few KBs of this unpacked binary.

turrican.o

shot2.png

Edited by enthusi
  • Like 2
Link to comment
Share on other sites

Size and variety are the main drivers here.

The map is 3072 x 2208. That are 420 full Lynx screens! Stored in ~30 KB.

The full map (fullscreen attachment) consists of 32x32 tiles. But WAY too many of them to store those as sprites, either (see 2nd attachment).

Those 32x32 tiles again are constructed out of 4x4 tiles with 8x8 pixel size each. And of those we only have 180 or so. THAT fits easily into memory.

Of course it is an effort to make such graphics. Those were made on C64. Only very few games really tried HARD on the Atari Lynx to max out its specs in my opinion.

This is quite common for any plattform with such limited commercial lifetime. I hope we will see in the time to come what this beast is really capable of. WITHOUT cheating by giving it more power or larger carts that it ever had.

The last shot shows the 32x32 tiles in the full screen map.

 

fullscreen.png

32x32tiles.png

8x8characters.png

 

32x32infullmap.png

 

8x8in32x32infullmap.png

Edited by enthusi
  • Like 1
  • Thanks 3
Link to comment
Share on other sites

No, obviously not!

I only chain enough sprites to draw a fully visible screen + one 4x4 tile to the right and bottom (it is not optimized as this were really by first footsteps :).

Ideally you only draw 8 pixel into the right and bottom border, not 32 ;-)

So the screen is 192x160 or so. ~ 432 sprites or in the range of that. I wrote a routine to update all points of the sprite-chain once we move by more than 1 tile.

 

 

Link to comment
Share on other sites

Sprite drawing slows down. Maybe not the position (long time ago that I tested it). But for sure the size.

 

You can draw a sprite 300x300 and move it with hoff/voff. Suzy does the clipping and I did not see any impact.

But if the sprite exceeds the 512 (height or width) then drawing slows down.

  • Thanks 1
Link to comment
Share on other sites

29 minutes ago, enthusi said:

No, obviously not!

I only chain enough sprites to draw a fully visible screen + one 4x4 tile to the right and bottom (it is not optimized as this were really by first footsteps :).

Ideally you only draw 8 pixel into the right and bottom border, not 32 ;-)

So the screen is 192x160 or so. ~ 432 sprites or in the range of that. I wrote a routine to update all points of the sprite-chain once we move by more than 1 tile.

 

 

So pixel move with hoff/voff until the edge of the tile and then update the chain for the new set?! Wow!

  • Like 1
Link to comment
Share on other sites

OMG. I will re-write On Duty to work like that just to see if I get the character moves smoother. In On Duty I use 16 by 16 sprites and I do the hoff/voff in software instead of using these registers. It would be nice to see if there is some speed advantage I could gain by using linked sprites and hoff/voff.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...