Log In  

Cart #wotozofuzi-0 | 2020-11-10 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
9

Short Amiga-inspired demo concentrating on palette and bitmasking trickery. As such, has strobing and flashing.

P#84091 2020-11-10 18:16

HOW DID YOU GET IT SO SMOOTH?

P#84248 2020-11-15 01:24

Quick writeup:

For starters

The spritesheet contains the font and ankh symbol used in the final section.
The music is a conversion of Blitz by Monty, aka "the correct Deluxe Galaga music"

Most of the effects use trickery with memory location 0x5f5e and palettes to allow bitplane-like effects.

Balls

Use 0x5f5e to draw 3x1 plane circles with a palette set up to emulate translucency.

In the background, concentric quarter circles are drawn to the spritesheet, and a lookup table for the tunnel effect is calculated in the free ram at 0x4300.

Circles

Again, 0x5f5e used to blit 2 planes of concentric circles using what is now in the spritesheet. Sprite flipping is used to generate the whole circles from the quarter circles in the spritesheet.
Called "Ted" in the code as I first came across the effect in the TEDSDEMOS examples for Blitz Basic 2. Funny what you remember.

Cubes

A (pretty inefficient, but good enough to throw a handful of triangles around) rasteriser is used to draw 2x4 colour cubes, again using 0x5f5e and palettes for translucency.
In the background, a plasma effect is drawn to the spritesheet. Broke out co-routines for this.

Pyramids

Based on the Desert Dream Amiga demo. Just using the rasteriser again, no 0x5f5e/palette trickery needed here

Plasma

Simple colour cycling once it's generated. Once the first one is displayed, a second plasma is generated in the spritesheet. This is then copied in and the second screen palette used for it. Once this is done, the original spritesheet is reloaded from the cart.

Tunnel

Probably the most complex effect.
-A 16x16 4 colour image is in the spritesheet
-This is then drawn onto the screen using a lookup table at 0x4300 that contains angle and distance down the tunnel, modulo 16, for each pixel in 1/4 of the screen. Rotational symmetry is used to generate the rest of the screen.
-Because this is only a 4 colour image, we then overlay concentric circles (some of which use a dithered fillp) in the upper two bitplanes using 0x5f5e. This, combined with the right palette, allow the tunnel colours to fade into the distance.

The Secret Part

ssshhhhhh

P#84263 2020-11-15 14:42

[Please log in to post a comment]