Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
  You are not logged in - nap
Bonanza   [1988]

Bonanza Released by :
Microsystems Digital Technologies

Release Date :
6 November 1988

Type :
C64 Demo

Released At :
Alvesta Party November 1988

Achievements :
C64 Demo Competition at Alvesta Party November 1988 :  #2

User rating:*********_  9.1/10 (13 votes)   See votestatistics

Credits :
Code .... Exilon of Microsystems Digital Technologies
Music .... Boogaloo of Microsystems Digital Technologies
  Finland Cracking Service of Finnish Gold
Graphics .... Big Boss Graphics
  Bob Stevenson
  SIT of Sub-Zero


SIDs used in this release :
Bonanza (part 2)(/MUSICIANS/B/Boogaloo/Bonanza_part_2.sid)
Crying(/MUSICIANS/Z/Zagor/Crying.sid)
Shorty(/MUSICIANS/F/FCS/Shorty.sid)

Download :

Look for downloads on external sites:
 Pokefinder.org


User Comment
Submitted by trident on 10 January 2025
this demo contains (at least) two world's firsts: the world's first vsp/linecrunch picture mover and the world's first 7 sprites over bitmap graphics. others have commented on the vsp/linecrunch mover, so i thought i'd comment on those 7 sprites over the bitmap picture.

here's how it works:

the problem with displaying sprites in the border on top of bitmap graphics is the badlines: every 8th line, the vic chip will stall the cpu for 40 cycles to read character pointers, which leaves only 23 cycles for the cpu on those lines. and if we're showing sprites on that line, they will steal another 2 cycles per sprite, and a few cycles to let the instructions complete. and to open the borders we need the cpu to write to $d016 twice on the rasterline, which means that we must have a minimum 8 cycles left. the only way we can make this happen is if we use only the four sprites 0-3 - it is impossible to open the border on badline with more than 4 sprites on that same line.

but here there are 7 sprites and evidently there is a bitmap picture under them!

the trick here is to use the linecrunch technique on those rasterlines where there are sprites. to quote from the VIC Article [english] by Christian Bauer how to do this: you "abort a Bad Line before its correct completion by negating the Bad Line Condition within an already begun Bad Line before cycle 14".

in practice, this means that we need to update $d011 before cycle 14 on every raster line. and the value that we set in $d011 is one that will make the next line be a badline.

so on rasterline $8e, assuming that $d011 is $3e which would cause a badline on the rasterline, we should set $3f in $d011 before cycle 14 to avoid the badline, and to set up $d011 for the next line. and on rasterline $8f, we should set $38 in $d011 before cycle 14, and so on.

this will make us avoid badlines, and we have plenty of cycles left to open the sideborder even with sprites.

and - and this is the big insight for this effect - we will get bitmap pixels on the screen. but not the normal pixels as we would expect from bitmap mode - if we linecrunch like this in bitmap mode, we will get the pixels from 7th pixel row only. and on the next pixel line we get the 7th line of the next character block. each 8-pixel character block is crunched into single pixel lines, and we see only the last pixel line of each block.

so in this demo part, the bitmap picture above the sprite scroll is regular bitmap. but underneath the sprites, the bitmap picture is arranged in such a way that the picture is stretched out and mapped onto the 7th pixel line of each char block. this goes on for 21 pixels, during which we run out of bitmap, and need to switch to a different bitmap in another graphics bank halfway through.

and then, below the sprite scroll, we see a regular bitmap picture again. but this one has been completely warped by all the linecrunching going on underneath the sprite scroll, so will need to be adjusted for this.

so the main innovation in this part is both to figure out that you get pixels on the screen while doing linecrunching and to figure out how to correctly warp that bitmap picture so that you actually get a real picture on the screen, and not just random pixel lines.

the other main restriction that we get from doing the linecrunching is that we can't change any of the colors in the image - those remain from the last badline we did. so that's why the bitmap picture in this demo part have so few colors. while it would be possible to use way more than the 3 gray colors in this part, i suspect Exilon was fed up with rearranging the bitmap picture to get this effect working at all that he didn't worry too much about having additional colors on the screen. others have later made great use of this ability to use more colors - one personal favorite is the final part of Time Machine and the picture by Valsary .

but why only 7 sprites? why not 8?

the reason is that, to get linecrunching working on those rasterlines, we need to get that $d011 write before cycle 14 - and that 8th sprite will steal our processor cycles at just the wrong moment. if we look at the vic timing chart by Lft we see that sprite 7 fetch (i.e., the 8th sprite) happens on cycles 9 and 10. this means that we are one cycle shy from being able to get the write to $d011 into cycle 13 because the sta instruction needs 4 cycles. the best we can do is cycle 14, if sprite 7 is displayed. so no linecrunch with sprite 7 enabled. in the demo part, the $d011 writes occur on cycle 12, and we're good.

oh yeah, and there are samples playing too.

so what does all this mean? it means this demo is freakin' awesome!
User Comment
Submitted by Bob on 27 November 2024
This demo was the AWE inspiration of them all! when it came out!
This demo was the inspirational moment for me to walk the path of VSP + Crunchline (AGSP) ;) and I am still doing it! But these guys where the first one to do so!
User Comment
Submitted by HBH.ZTH on 26 September 2024
Meanteam may have made the first VSP effect (horizontal push), but Exilon made the first horizontal AND vertical bitmap scroller, extending the screen in both directions. A world first. Everyone was scratching their head watching this. And ofc coders dived into the code to see what was done. Amazing demo.
User Comment
Submitted by Fred on 25 February 2011
First and last tune added to the used SIDs list.
User Comment
Submitted by Motion on 9 October 2010
Added credits for Big Boss Graphics, see here: The Finish ++.
User Comment
Submitted by Celtic on 6 January 2009
Great oldschool classic. I am always wondering who did the first & last tune.... anyone knows?
User Comment
Submitted by tlr on 17 December 2006
Ah. That makes sense. Omega Man did some very cool effects in his intros.
User Comment
Submitted by Graham on 8 December 2006
Yes, that meanteam demo had the first VSP and some TCS intro had the first linecrunching. Sorry Blackmail or HZ, you weren't the first :)
User Comment
Submitted by tlr on 7 December 2006
I think it is the first linecrunch I saw, and also the first 7 sprites sideborder over gfx scroller.
About VSP: Haven't looked, but isn't VSP&IK+ real VSP then?
It just moves the screen though, not makeing the appearance of scrolling it.
User Comment
Submitted by HCL on 7 December 2006
I think this demo has more than just some nice gfx. What really should be pointed out is that this demo was the first to show a bitmap-scroller using the VSP-trick (+ line-crunching i guess). This is a milestone in c64-demo history!
User Comment
Submitted by Ed on 6 December 2006
Includes some excellent graphics.
Search CSDb
Advanced
Navigate
Prev - Random - Next
Detailed Info
· Summaries
· User Comments (11)
· Production Notes
Fun Stuff
· Goofs
· Hidden Parts
· Trivia
Forum
· Discuss this release
Info on other sites
· YouTube
Support CSDb
Help keep CSDb running:



Funding status:




About this site:
CSDb (Commodore 64 Scene Database) is a website which goal is to gather as much information and material about the scene around the commodore 64 computer - the worlds most popular home computer throughout time. Here you can find almost anything which was ever made for the commodore 64, and more is being added every day. As this website is scene related, you can mostly find demos, music and graphics made by the people who made the scene (the sceners), but you can also find a lot of the old classic games here. Try out the search box in the top right corner, or check out the CSDb main page for the latest additions.
Home - Disclaimer
Copyright © No Name 2001-2025
Page generated in: 0.097 sec.