| |
Shadow Account closed
Registered: Apr 2002 Posts: 355 |
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.... |
| |
CyberBrain Administrator
Posts: 392 |
Erhm... i don't know what's right or wrong... But the question is not the origin of the word, or in which historical context it can be placed. It's about how it's used in the C64 Scene.
I know that the only places i've seen the use of the word "multiplexer", is in demos with those sort routines (where >8 sprites moves around between eachother). That's why i got pretty puzzeled by grahams definition.
Not that i say Graham is wrong (coz' i'm not at all sure) but i've just never seen "multiplexer" used for anything else than the sorting-thing. |
| |
JCB Account closed
Registered: Jun 2002 Posts: 241 |
Well it IS a silly argument and I was just trying to point out that IN MY OPINION it isn't a multiplexer, the fact that when I started coding c64 more than 8 sprites was just known as a sprite split and one that would allow you to move the Y positions and sort them was known as a multiplexer. Go back, check your scene history, try to find me a demo that claims to use a multiplexer when the 1st games/demos started using them and it WILL sort the sprites, nobody USED to claim having more than 8 sprites on screen was anything of the sort. I'm sorry if you guys these days have to insist on using this word when it never used to be so all encompasing, I'm just sticking to what I SEE as being a multiplexor.
Cadaver, I don't care if MT would think its a multiplexor, he didn't invent it, so if he wants to call it that then fine, I'll say it one more time IN MY OPINION it isnt, you can do all the RECORD multiplexer demos you want and sit waiting for $d012 to equal something then move your sprites Y pos but it won't change my mind.
Dr. Jay, same goes for you blue is blue, wow cool argument. I'm not trying to piss people off for the sake of it but I've always know the word to mean one thing, I also (Graham) know lots of coders who would disagree with you and agree with me.
ps one LAST time IN MY OPINION. you guys ganging up on my won't change my mind ;) you're not the be all and end all of c64 coding, you didn't invent any of this I'm just pissed that I seem to be unable to have an opinion on something and being told by people what multiplexer means in latin so that makes them right. wtf ?!?
You have your opinion, I'll have mine. ok?
Get the message now, IN MY OPINION ;) |
| |
CyberBrain Administrator
Posts: 392 |
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? |
| |
CyberBrain Administrator
Posts: 392 |
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?) |
| |
cadaver
Registered: Feb 2002 Posts: 1160 |
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? |
| |
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. |
| |
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
|
| |
cadaver
Registered: Feb 2002 Posts: 1160 |
(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 :)) |
| |
T.M.R Account closed
Registered: Dec 2001 Posts: 749 |
[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! =-) |
| |
DanPhillips
Registered: Jan 2003 Posts: 31 |
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.
|
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 - Next |