Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in 
CSDb User Forums


Forums > C64 Productions > Is 120 the max number of full height sprites that can be displayed?
2002-11-17 17:59
Shadow

Registered: Apr 2002
Posts: 319
Is 120 the max number of full height sprites that can be displayed?

I've been on a nostalgia trip and checking out some demos from the real oldschool, record-breaking times. So I started thinking a bit about the world record for most sprites in a multiplexer. I started calculating, and got the following:

8 sprites can be displayed per 21 lines (since a sprite is 21 pixels high). Now you have 256 y-positions available to place sprites on. That should give us 96 or maybe 104 (I wasn't quite sure on this).
Since I saw demos with 112 and even 120 sprites (think it was in Ice Cream Castle/Crest), this couldn't be the limit.
Anyway, I started coding on a little test program and discovered that sprites placed on position $01 to $1e was displayed twice (both in the upper and lower border. I guess this is common knowledge, but I've been out of the loop for a while!)
Now, those $1e lines gives us the possibility to display two batches of 8 sprites that essentially gets doubled, thus we have 104+116 = 120 sprites as the absolute maximum.
Is this correct reasoning? Any oldtimer hardware specialits who can shed some light on this?
 
... 67 posts hidden. Click here to view all posts....
 
2003-02-03 20:08
cadaver

Registered: Feb 2002
Posts: 1117
What personally interests me in this discussion is that where the line is drawn; I took the turrican example because there sorting could be used (for uniformity of engine code, if nothing else, which I personally like btw. being a lame game-coder :) ), or not be used, but it doesn't make any difference in the visible output

Then another example: 16 sprites rotating in circular fashion. Instead of full sort one could divide them into a "upper half" and "lower half" of 8 sprites each, and load the lower half register values in a raster interrupt at the middle point. This would also be visually indistinguishable from something achieved with a full sort, so is it multiplexing or not?
2003-02-03 21:10
JCB
Account closed

Registered: Jun 2002
Posts: 241
I've not looked at turrican recently but I would think that like armalayte (and I may be wrong here too) that it uses a non-realtime sorted set of sprites for the big ships AND a sort for any other sprites, your ship, weapons etc at the same time. Even if it doesn't the games still use a sorting method for other parts of the game.

The 16 sprites rotating by just using an upper and lower set could still be seen as a sort and the definition does indeed become blurry here BUT I'd expect someone who did it that way to not claim it to be a multiplexer, it's the "freedom" of movement that is important to me, like those 16 rotating sprites should be able to change patterns etc. I've done demos where some sprites were just split and the others were used so there were about 20 sprites all moving over each other, no sorting and I never claimed it was a multiplexer because if I had at the time people would've asked me where I got my drugs from ;)

I just think the definition has changed from when I was doing demos/games and that is why I hold this opinion.

It's like how some people will saying an OS or a processor is multitasking because if taken litteraly the "multi" and "tasking" could just mean it runs more than 1 task at a time BUT try arguing the point with some tech guy and see what they say about what it really means.
2003-02-03 21:48
Dr. Jay
Account closed

Registered: Jan 2003
Posts: 32
Great points and interesting discussion. I think one point certain is true ... where does one draw the line? In this case, it seems that the sorting is popular but there are plenty of gray areas. As for coding/being a coder, I could possibly be the WORST C=64 coder that ever existed, so I definitely won't add hype to my opinion over my virtue as a demo writer -- I was just interested in the conversation. Thanks for all of the clarifications and I'll try not to stick my nose where it doesn't belong. :)

Dr. Jay
2003-02-03 21:51
cadaver

Registered: Feb 2002
Posts: 1117
(everything afaik)

From Dan's evidence, Armalyte:
Spr1 - player ship
Spr2 - 2nd player ship / satellite
Spr3-8 - enemies+bullets etc. Sorted and multiplexed with one and same routine throughout, incl. bossfights

Turrican, just reverse-engineered a few minutes ago :)
Spr1-3 - player sprite and overlay
Spr4-8 - enemies+bullets sorted and multiplexed OR
boss displayed with separate high-performance routine; no sorting used then

In some cases (was it the big fish?) overlay disappears and one more sprite is used for the enemy.

Anyway, I guess this needs no further argument. Sorting of course rules :) But now as you helpfully pointed, we may continue the discussion about the difference of Amiga & PC multitasking :))
2003-02-03 22:19
T.M.R

Registered: Dec 2001
Posts: 735
[looks around, wonders if it's safe but goes for it anyway =-]

i've always understood that a multiplex involved the physical sprites swapping jobs, in other words something like the Turrican bosses are "zone splits" or whatever you'd like to call them whilst the ingame stuff is multiplexed. But at the same time, there are pre-sorted multiplex routines in demos (and one or two rare games) where the possible situations have been worked out in advance and only the display part of the code is there. The sprites still swap jobs to make the display as efficient as possible but the sort was done during the setup or, in some cases, even before the code was crunched.

i've done both, Contraflow was sorted whilst Spectral was and they use similar sprite handling code. It also shows how shyte the sort-of-Shell-Metzner sort routine on Contraflow was 'cos 16 was the max it could handle! =-)
2003-02-04 09:29
DanPhillips

Registered: Jan 2003
Posts: 14
I think it was Andrew Braybrook who publicly coined the
phrase Multiplexor...and it definately involved sorting.

For me a Mutiplexor has always included sorting, without
it they aren't much use for "general" game useage.
All my dev disks were called Plexor1-???

Splitting sprites is the term we used for just a reposition
further down the screen. In Deadlock the main guy used
that technique for his head+legs while a normal plexor
did it's stuff in the background.

Multiplexor = Splitting sprites + sort IMNSHO.

Anyway...After deciding to mess with the Armalyte code again
I'm having trouble getting multiple files linked together
with Tass, Tslink doesn't seem to have a docs/help anyone
got an example ?

Cheers

Dan
Lead Pro..Arma...thing.
2003-02-04 11:49
Graham
Account closed

Registered: Dec 2002
Posts: 990
Quote: By the way.. talking about sprites.. A D.Y.S.P. (="Different Y Sprite Position") requires rasters to be behind the sprites, right? (i mean, just some sprites with different y positions isn't a DYSP is it?)

DYSP = different y sideborder positions (with sprites)... so DYSP requires sideborder, not rasterbars... the first DYSP routine ever (photon dysp by triangle) didnt have rasterbars behind them.
2003-02-04 11:57
Graham
Account closed

Registered: Dec 2002
Posts: 990
now it get's really confusing since "splitting sprites" would mean something entirely different to me. i would understand something like changing x-pos during sprite display or similar.
2003-02-04 12:23
hollowman

Registered: Dec 2001
Posts: 471
Quote: Yeah... I think that, in the old days, if you claimed you had done a 32 sprite multiplexer, and it turned out that all you did was showing 32 sprites on the screen at once, people would consider you pretty lame.. :) Have anyone got an example of a demo where the word multiplexer isn't used for the sorting thing?

i pull out issue 10/1990 of svenska hemdator nytt, and turn to the programming pages and there we have an assembler listing called 'multiplex' which displays one sprite on two places on the screen, no sorting whatsoever. who took the risk to be called lame? answer: linus nielsen aka boogaloo/horizon
2003-02-04 16:15
T.M.R

Registered: Dec 2001
Posts: 735
[Looks up from reading Mental Procreation for the Nth time]

Braybrook said that the Morpheus multiplex doesn't use sorting...? =-)

"Got a 'phone call with all the answers at about 11 o'clock this morning. "Why don't you try this..." were the pearls of wisdom. Eventually ascertained what was going on, and it doesn't involve a sort routine at all. No bubbles, no insert sorts, no Shell Metzner (who?), no McPherson Struts...no matter - my logical chain sort isn't quite working anyway!"

http://www.zzap64.co.uk/zzap23/mental1.html

(What's a McPherson Strut anyway?! =-)
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Didi/Laxity
hedning/G★P
The Human Co../Maste..
Guests online: 55
Top Demos
1 Unboxed  (9.7)
2 Uncensored  (9.7)
3 Edge of Disgrace  (9.7)
4 Coma Light 13  (9.6)
5 Comaland 100%  (9.6)
6 The Shores of Reflec..  (9.6)
7 Lunatico  (9.6)
8 X Marks the Spot  (9.5)
9 Wonderland XII  (9.5)
10 Comaland  (9.5)
Top onefile Demos
1 Smile to the Sky  (9.6)
2 Instinct  (9.5)
3 Daah, Those Acid Pil..  (9.5)
4 Dawnfall V1.1  (9.4)
5 Party Horse  (9.4)
6 Pandemoniac Part 2 o..  (9.4)
7 Crystal Gazer  (9.4)
8 FMX Music Demo  (9.4)
9 Rewind  (9.4)
10 Bad Boy  (9.4)
Top Groups
1 Fossil  (9.7)
2 PriorArt  (9.7)
3 Oxyron  (9.4)
4 Booze Design  (9.4)
5 Censor Design  (9.3)
Top Coders
1 Majikeyric  (10)
2 ZeroPaige  (10)
3 Axis  (9.8)
4 CRT  (9.8)
5 Graham  (9.8)

Home - Disclaimer
Copyright © No Name 2001-2019
Page generated in: 0.077 sec.