| |
Website :
http://www.c64demo.com
Released At :
Function 2020
Achievements :
Mixed Demo Competition at Function 2020 : #1
Credits :
Code | .... | Ksubi of Genesis Project |
| | Raistlin of Genesis Project |
| | Sparta of Genesis Project, OMG |
Music | .... | dLx of Genesis Project, Insane |
| | MCH of Dream, Genesis Project, MultiStyle Labs, Samar Productions |
| | psych858o of Elysium, Genesis Project, MultiStyle Labs |
| | Steel of Genesis Project, Success, Success + The Ruling Company |
| | Stinsen of Genesis Project |
| | Xiny6581 of Dees Productions, Digital Sounds System, Genesis Project, Gheymaid Inc., The Solution |
Graphics | .... | Facet of Genesis Project |
| | JonEgg of Genesis Project |
| | Ksubi of Genesis Project |
| | Raistlin of Genesis Project |
| | Razorback of Genesis Project |
Design | .... | hedning of Genesis Project, Propaganda Magazine Staff |
| | Ksubi of Genesis Project |
| | Raistlin of Genesis Project |
| | Sparta of Genesis Project, OMG |
Idea | .... | hedning of Genesis Project, Propaganda Magazine Staff |
Charset | .... | Ksubi of Genesis Project |
| | Razorback of Genesis Project |
| | Sparta of Genesis Project, OMG |
Loader | .... | Sparta of Genesis Project, OMG |
Docs | .... | hedning of Genesis Project, Propaganda Magazine Staff |
Directory Art | .... | Ksubi of Genesis Project |
SIDs used in this release :
Download :
Look for downloads on external sites:
Pokefinder.org
Production Info Submitted by Raistlin on 8 November 2023 Production Info Submitted by Raistlin on 7 December 2022 Production Info Submitted by Raistlin on 17 November 2022 Production Info Submitted by Raistlin on 18 March 2022 Production Info Submitted by JackAsser on 20 October 2020
<Lost in clipboard> DAMN!
Anyway, 1 line of overlap is perfect for x-only motion like in this case. Really nice! Well done! I usually go for 10-lines of overlap to allow for dynamic multiplexing and y-motion also. | Production Info Submitted by Raistlin on 20 October 2020 Production Info Submitted by Raistlin on 24 September 2020
Here are some details of the code aspects of the demo... for those that might wonder :-)
*Skull Zoomer Basic Fader* (Ksubi)
A fullscreen 50 fps PETSCII animation with 64 phases, to set the pace of the demo.
*Real-time Rotating ECM Tunnel* (Sparta)
This is a 50 fps real-time effect without double buffer, using a 16x32 tile pattern. The rotation and movement along the tunnel can be freely adjusted. For the sake of simplicity, these were kept constant in the demo.
*Rotating GP Logo* (Raistlin)
A simple bytewise animation plotted into the sprite array with sprites laid out using the 20px interleave technique.
*Huge Memento Mori Logo* (Raistlin)
A ~2000 pixel wide multicolour logo split across 3 charsets. Sprite underlay is also ~2000 pixels wide and is plotted into the sprite array. Again we use 20 pixel interleave. This part was Facet’s brainchild - Raistlin originally telling him that it wasn’t possible due to C64 not having bitplanes like the Amiga platform that Facet is more accustomed to ;-)
*All Border DYPP* (Raistlin)
The tallest all border DYPP made on C64 yet. We use y-expanded sprites. Getting this right was very tricky as we had to ensure the sinus only used up to 4 sprites per rasterline.. note that we add detail back into the scroller by using subtexel rendering - so the source font data is full resolution, even though each frame only uses half of that - in a similar way to interlace, the extra detail appears and makes the scroller look much smoother than it really is.
*Turn Disk DYPP* (Raistlin)
Note with this that the DYPP is single-pixel precision and that there are 4 colours used, plus black (ie. 5 colours). This is done by using black hires inverted chars for the DYPP and underlaid sprites moving across the screen to add the colour.
*Large Scaling DYPP* (Raistlin)
A well worn effect.. very simple. A staple of Bonzai demos ;-)
*Plot Skull* (Sparta)
A fullscreen 50 fps animation with 64 rotation phases, 300+ plots per frame, displayed without double buffer on a multicolor bitmap. The routine could handle even more dots per frame but the C64's RAM can't (maybe we will use REU for the next one). While the animation is refreshed every frame, the rotation phase is mostly updated every other frame to show it at an acceptable speed. Fun fact: the skull is based on a real person's skull and coordinates were obtained from a CT scan.
*All Border Double DYPP* (Raistlin)
This works in a very similar fashion to the above .. but .. by using the screen-disabled-but-all-borders-open trick, we can use 8 sprites on each line - hence being able to have 2 scrollers. There are some DMA glitches on this part, unfortunately, that were unavoidable using this scroller form.
*Stained Glass Window Plasma* (Sparta)
This is a simple color blending effect on a multicolor bitmap which renders a separate plasma in each of the three color spaces of the bitmap (i.e. low and high nibbles of the screen RAM, and color RAM). The effect is updated every frame.
*Turn Disk Greetings* (Raistlin)
A simple “circle” scroll. This time using a larger font than usual to make the text clearer and a note-quite-a-circle shape to add some variety.
*Side Border Vertical Bitmap Scroller* (Raistlin and Sparta)
A full 192 pixel high screen. 408 pixels wide - 48 in the left border, 320 for the screen and 40 for the right border. The stunning artwork was of course done by Razorback. Being one of the first parts we worked on, it set the tone for the rest of the demo.
Most of the bitmap and sprite scrolling is interleaved into the side border IRQ code. Running at 25fps, we scroll 8 pixels every 16 frames - 15 frames doing the bitmap/screen/sprite data copying and the 16th updating the colour memory. We play music during vblank and, otherwise, leave the CPU as free as possible to allow Sparkle to do its magic loading in the next chunks of data. A very complex demo part, really, lots of different problems to resolve. Without Sparkle, we would’ve had this running at 16.666fps (ie. scrolling 1 pixel every 3 frames instead of 1 every 2 as we managed with Sparkle).
Raistlin coded the original scroller routine, which was very nearly running at 25fps - but failing in the areas where the picture got more complex. Sparta helped optimise the data format to better feed Sparkle, along with optimising Sparkle and helping to remap and compress the bitmap colour data more efficiently. It was a true coder collaboration - and helped G*P snag Sparta :-)
We achieve the switch between multicolour and hires mode by self modifying all the areas of code where D016 etc are changed in the IRQs.
**Raistlin’s Code Generator**
Note that most of Raistlin’s parts used his C++ tool for generating highly optimised/unrolled ASM. It’s able to neatly interleave any “grunt” code (such as bitmap/char/sprite plotting) into accurately timed IRQ code (eg. For border opening). With this, opening borders and such is very simple - allowing the coder to concentrate on optimising the plotting algorithms. Without the tool, we shudder to think how someone might go about achieving some of the things we made for this demo ;-) |
|
|
|
| Search CSDb |
| Navigate | |
|
| Detailed Info | |
|
| Fun Stuff | |
· Goofs · Hidden Parts · Trivia (1)
|
|
| Forum | |
|
| Info on other sites | |
|
| Support CSDb | |
|
| |
|