Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user Harvey ! (Registered 2024-11-25) You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Sprite Multiplexing - Myth Busted ?
2004-12-12 19:12
Fix

Registered: Feb 2003
Posts: 54
Sprite Multiplexing - Myth Busted ?

Many many years ago when I first saw the amazing effect were you have more than 8 sprites at same time I were thrilled.

Don't have a clue who did the first spritemultiplex routine.

A master brain wizard who have found another cool bug in the vic ii chip.


Or maybe not ?

Some time ago I actually read whole my programmers reference manual, where I found an very interesting notice in the sprite chapter were they says it's possible to have more than 8 sprites at same time using advanced technics, and some pages later it does tell you how to do this effect with raster interupt waiting.

It does not exactly tells you how, but it tells you it can be done.

Some my thought here,

Then Commodore Did know this feature already from start ?

Is it a bug or a feature that the designers added ?

Is there other cool routines that actually Commodore knew and wrote about ?


Or is this already known for the last 15 years ?
2004-12-12 20:08
Graham
Account closed

Registered: Dec 2002
Posts: 990
sprite multiplexing is relatively obvious, kinda like screen splitting which the raster irq was made for. but i remember that some commodore spokesman denied the possibility to display graphics in the border area.
2004-12-13 01:44
Bitrapper
Account closed

Registered: Nov 2004
Posts: 8
yes,
commodore said, that i´t would not be possible to show graphics in the border.
but we all know it is possible. :-)

about your first question with the sprites:
i remember a Demo from Horizon in which they showed a lot of sprites flying in a circle and they were prouldy counting them.
i mean the sprites were showing letters.

T.
2004-12-13 07:56
ready.

Registered: Feb 2003
Posts: 441
I've always been interested in commodore 64 unknown features discovering history. I think it would be interesting to write an article on it. When the c64 was born there were many things people didn't know about and were discovered during the years. For example, who and when found out that the border could be opened? Who found out about digis playing on the sid?.....
2004-12-13 09:10
JackAsser

Registered: Jun 2002
Posts: 2014
People have _not_ landed on the moon and hackers have _not_ put graphics in the border of a c64. You have all been fooled by propaganda. People WAKE UP!!!
2004-12-13 09:36
hollowman

Registered: Dec 2001
Posts:
quote from c= hacking #8


Q $055) The box that the C64 comes in has some propaganda on the side
describing the unit. In the specifications section, it claims how
many sprites can be on screen at one time?

A $055) I neglected to note that the Commodore 64 packing box has underwent
many changes. However, for quite a while, CBM used a blue box with
many views of the 64, and a specification list on on side of the box.
On that spec list, it claims that the the 64 can have "256
independently controlled objects, 8 on one line." Why is this
important? It gives us a clue that the VIC-II designers figured people
would and could use the interrrupts on the VIC-II to change sprite
pointers.
2004-12-13 16:50
H.O
Account closed

Registered: Oct 2002
Posts: 70
Quote: I've always been interested in commodore 64 unknown features discovering history. I think it would be interesting to write an article on it. When the c64 was born there were many things people didn't know about and were discovered during the years. For example, who and when found out that the border could be opened? Who found out about digis playing on the sid?.....

Depends on which border.

For the top border, most people seems to agree that Flash Inc. was the first to do this.

For the side-border, there was a bit of conflict around this (if I remember correctly) where 1001 and Sodan (if my memory serves me right) both claimed to be first. Personally I've always seen 1001 crew as the creators here though.

For full screen there is no doubt (to my knowledge) that this was created by 1001 crew.

Samples I have no idea whether you can find a first on. It was used in several games -- for example Ghostbusters, Impossible mission, etc -- and also used in speec synthezisers (such as SAM) . Early versions used turning on and off the volume to create this effect.

Regarding the original question, about 8++ sprites on the screen; as already mentioned this was a know feature of the c64 and it certainly was planned. It was used fairly early in some games (sorry, no title comes to mind) and was also used in several early (depending on what you mean with early :) ) demos.
2004-12-13 19:40
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
The first sprite multiplexer, I think was made by Ray of Triton Technology.
2004-12-13 20:13
Ben
Account closed

Registered: Feb 2003
Posts: 163
@H.O.: Flash _inc_ ? You must be kidding. And have you ever come across something like that from Sodan?

@rambones: Well, if you take multiplexing as reusing sprites later during the same frame, it is much, much older. What Ray did is throwing in some kind of sorting algorithm and sinus movement. Are there not older demos containing such enhancements?
2004-12-13 22:02
Fix

Registered: Feb 2003
Posts: 54
This is what I ment, Commodore 64 VIC chip designers were first with Multiplex (more than 8 sprites on screen) since they mention it in my book and even how to make it happen..

And what I wonder, is there more "bugs/routines" the scene used that Commodore allready knew/had done before us?

2004-12-13 23:55
H.O
Account closed

Registered: Oct 2002
Posts: 70
Quote: @H.O.: Flash _inc_ ? You must be kidding. And have you ever come across something like that from Sodan?

@rambones: Well, if you take multiplexing as reusing sprites later during the same frame, it is much, much older. What Ray did is throwing in some kind of sorting algorithm and sinus movement. Are there not older demos containing such enhancements?


Sorry, I meant Flash Cracking Group (or actually Flash) .

I have been emailing a bit with a former Flash Inc member recently, and my brain must have messed things up.
2004-12-14 00:14
Bitrapper
Account closed

Registered: Nov 2004
Posts: 8
u can read about flash and 1001 crew and side and upper boarder here:
http://noname.c64.org/csdb/forums/?roomid=7&topicid=10907#13660

In The Final Edge the bordermonster himself, TSI (as he opened the C64 sideborder as the first person on earth) of the legendary 1001 Crew is referring to 'flash-baby' or 'the bitstoppers' as the ones first opening the upper- and lowerborder. Also, Honey of the 1001 Crew credits: "I think that was done by Flash (or at least someone from Germany).", for doing so, as you can read in the interview on C64hq.com (http://www.c64hq.com/index1024.php).
I hence reckon it is fairly likely Flash of Flash Cracking Group deserves credits for opening up the lower- and uppersideborder..

T.
2004-12-14 08:29
Ben
Account closed

Registered: Feb 2003
Posts: 163
@HO: NP.. They would have loved it, though :)

@Bitrapper: Good to see you did find my post ;)
2004-12-14 13:29
Oswald

Registered: Apr 2002
Posts: 5086
even an old hungarian reference guide (the most used amongst hungarians) says something like: "there can be 8 sprites max onscreen, but using the vic's interrupt system it is possible to display more" no more no less.

The designers of VIC must have been 100% aware of the possibility of sprite multiplexing, no doubt. They must have know how the hardware works, that they have designed. Probably FLI, and opening the borders would suprize them, but not much. They know (knew) why and how those are possible, only they probably havent thought of the possibility of those tweaks.
2004-12-14 16:25
Graham
Account closed

Registered: Dec 2002
Posts: 990
it is still quite unclear who did open upper/lower border first. the first demos i have which contain such a border routine are from december 1985, and one or two months before that holger gehrmann (later the boss of reline) published an article in the 64'er magazine. on the radwar disks i found code snippets which seem to be the code from that article, so maybe it was sent around this way and a month later the first demos used it.
2004-12-14 16:28
Graham
Account closed

Registered: Dec 2002
Posts: 990
@Bitraper wrote:
"On that spec list, it claims that the the 64 can have '256
independently controlled objects, 8 on one line.' Why is this
important? It gives us a clue that the VIC-II designers figured people would and could use the interrrupts on the VIC-II to change sprite pointers"

is that quote exact? if not, maybe those 256 independent objects are the 256 characters in a charset.
2004-12-14 16:30
Graham
Account closed

Registered: Dec 2002
Posts: 990
rambones wrote:
"The first sprite multiplexer, I think was made by Ray of Triton Technology."

nopes, triton tech did the first DYSP though. triangle invented DYSP but didn't actually do it :D
2004-12-14 17:07
Bitrapper
Account closed

Registered: Nov 2004
Posts: 8
Quote: @HO: NP.. They would have loved it, though :)

@Bitrapper: Good to see you did find my post ;)


@ben:
no problem. i thought your posting makes a good sense.
so i posted it again with the link in here.
it was okay or?
2004-12-15 10:16
Graham
Account closed

Registered: Dec 2002
Posts: 990
again the "256 objects but only 8 on a rasterline" thing: on another forum it was mentioned that the c64 sprite system was heavily inspired by the ti99/4 sprite system. that one could do 32 sprites (size 16x16) but only 4 on a rasterline, so basically it was doing hardware sprite multiplexing. maybe the c64 engineers thought that they rather save those transistors needed for hw multiplexing because they could use those transistors on other stuff and software can do the same but with far greater freedom.
2004-12-15 12:59
Cruzer

Registered: Dec 2001
Posts: 1048
how the fuck did they cum up with 256 sprites??!?
2004-12-15 13:05
Fix

Registered: Feb 2003
Posts: 54
simple

8bit computer = $ff = 0-255


not 256 sprites at screen, only images in memory.

2004-12-15 13:17
Cruzer

Registered: Dec 2001
Posts: 1048
OIC :)
2004-12-21 13:05
bstard
Account closed

Registered: Nov 2004
Posts: 1
sprite multiplexing is a technique, not a bug.
i remember reading in some old discmag (think it was Iquiry#01) that '1001 Crew' broke the uper/lower border first.
2004-12-22 12:52
Graham
Account closed

Registered: Dec 2002
Posts: 990
nopes, 1001 only were the first release something with an open sideborder. in one of their demos ("soon") they mentioned that they didn't know who opened the upper/lower border first.
2004-12-22 21:06
Wanderer
Account closed

Registered: Apr 2003
Posts: 478
Circle Twist I and II by Bros.

I love this multiplexer because of the fact that the sprites not only multiplex but sort of bounce as if dancing, and then squish up against the side borders.
2005-02-02 08:13
Death Demon
Account closed

Registered: Feb 2005
Posts: 68
I would be surprised if anybody really claimed that they invented this technique. I think the first person that got 256 working without any flicker was interesting, but more than 8 wasn't a big deal and the technique was used by people that had no interest in demo coding. I don't honestly know if I would even classify it as a technique. It's just updates after the raster was done drawing. That's the same technique used for anything drawn on the screen.

Still, some neat things were done with it as Wanderer points out.
2005-02-02 12:08
TDJ

Registered: Dec 2001
Posts: 1879
Quote: I would be surprised if anybody really claimed that they invented this technique. I think the first person that got 256 working without any flicker was interesting, but more than 8 wasn't a big deal and the technique was used by people that had no interest in demo coding. I don't honestly know if I would even classify it as a technique. It's just updates after the raster was done drawing. That's the same technique used for anything drawn on the screen.

Still, some neat things were done with it as Wanderer points out.


Well, I remember the first time I found out how to do it, after spending a night coding with a mate of mine, failing to solve our problem and then doing so the next morning within 15 minutes - I was fucking proud, and I guess all the coders who did it themselves before and after me were as well ;)
2005-02-02 12:10
Cruzer

Registered: Dec 2001
Posts: 1048
Death Demon: Noone has done 256. 120 is the record for 21 pixels high sprites.
2005-02-02 12:23
Ben
Account closed

Registered: Feb 2003
Posts: 163
IMHO it is not so much the actual plexing (which even the designers of the VIC chip must have considered possible), but primarily the actual sorting of the 'free' Y-locations (of a multitude of sprites) which is mostly referred to as a 'sprite multiplexer'.
2005-02-02 13:35
Graham
Account closed

Registered: Dec 2002
Posts: 990
oh no not that discussion again.
2005-02-02 15:58
Ben
Account closed

Registered: Feb 2003
Posts: 163
Quote: oh no not that discussion again.

Did I miss posts? Anyway, my opinion is not open for any discussion..
2005-02-02 16:13
Graham
Account closed

Registered: Dec 2002
Posts: 990
yes i know. still 99.9% of the scene will agree that sprite multiplexing is "reuseing sprites on the same frame". the sorting method used does not matter.
2005-02-02 16:17
enthusi

Registered: May 2004
Posts: 677
if keep out the sorting there is nothing left to 'invent' since its no new idea at all :)
Which is btw. my opinion - spritemultiplexer are neither bug nor invention.
2005-02-02 16:18
Ben
Account closed

Registered: Feb 2003
Posts: 163
Quote: yes i know. still 99.9% of the scene will agree that sprite multiplexing is "reuseing sprites on the same frame". the sorting method used does not matter.


All I mean to say is that when we come to talk of the 'effect multiplexer', that I'd say an operation (changes in location) makes ordinary plexing one..
2005-02-03 22:44
Death Demon
Account closed

Registered: Feb 2005
Posts: 68
Ben, I'm confused by your terminology. What is "ordinary plexing"? A multiplexing operation has a single output and chooses between multiple inputs. In the case of sprite multiplexing, you are choosing between several x/y locations and possibly several sprite pointers. You can also multiplex between sprite data, but you won't be able to get as many sprites on the screen at the same time.


Cruzer : You sure it was only 120? I thought I remembered someone in Europe having done > 200 (thought it was 256) a very long time ago. I think he had all the borders off too and placed sprites in the borders. He was updating positions on the raster line as well so that once he got done drawing sprite 0, he moved it to the right. Can't remember though as it's been over a decade since I've done anything.
2005-02-03 23:04
Graham
Account closed

Registered: Dec 2002
Posts: 990
there is a difference between sprite splitting and sprite multiplexing. sprite splitting is using a sprite and change x-position during sprite display. this way you get the impression of max 21 "objects" which are in fact just one sprite. but this is not counted as multiplexing since it does not multiplex a sprite.

since sprites of a c64 are 21 pixels high, you can do max. 112 sprites on a frame. 120 if you also count sprites which are on two frames at the same time...

crossbow did a little routine to shrink the sprite height and made a 144 sprites multiplexer with that, so the record of real sprite multiplexing is 144.

those records which have 200 and more "sprites" in fact often only have a third of that amount of real multiplexed sprites... 60 to 80.
2005-02-04 01:24
Death Demon
Account closed

Registered: Feb 2005
Posts: 68
That's really a misuse of terminology. But what did we really know when we came up with the terminology in the first place? In any event, a multiplex operation is one in which you choose between multiple inputs to go to a single output. Be it X, Y, or sprite data.
2005-02-04 09:20
Oswald

Registered: Apr 2002
Posts: 5086
definiton of multiplexing: Combining multiple signals (analog or digital) for transmission over a single line or channel.

We have one sprite (input) and you get multiple outputs of the same sprite. so multiple output from single input. in other words you make a lot of things from one thing. Definitly doesnt fits the definition above. But who gives a fuck ?

how about starting a topic about dycps ? must be just as interesting as this one.
2005-02-04 09:41
TDJ

Registered: Dec 2001
Posts: 1879
It's an anti-multiplexer!

Now people, for those who think this discussion is tiresome, why not just shut up about it and let those involved have their fun, hmm?
2005-02-04 16:14
Death Demon
Account closed

Registered: Feb 2005
Posts: 68
If you use the same sprite data, then you are doing what's called "Address Multiplexing". You are altering the X/Y address for the sprite. Choosing between several X/Y values for a single X/Y storage register. Since the addresses here are related to the sprite, the technique would still be called Sprite Multiplexing. Make sense?
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
Martin Piper
Guests online: 86
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Mojo  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Wonderland XIV  (9.6)
10 Comaland 100%  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 Party Elk 2  (9.6)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.6)
5 Libertongo  (9.5)
6 Rainbow Connection  (9.5)
7 Onscreen 5k  (9.5)
8 Morph  (9.5)
9 Dawnfall V1.1  (9.5)
10 It's More Fun to Com..  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Nostalgia  (9.3)
5 Triad  (9.2)
Top Crackers
1 Mr. Z  (9.9)
2 Antitrack  (9.8)
3 OTD  (9.8)
4 Fungus  (9.8)
5 S!R  (9.8)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.066 sec.