Ripples - a 256 byte demo

I've learnt x86 assembly in the summer before I went to the university (1996). I saw that there're some 256-byte competitions in Hungary and tried to write my own little demo so I can enter, too. Smile

Update (2015.05.05): I've recorded a short video of the running demo (used DOSBox with Ubuntu), you check it out here

Actually I never did go to the competition, but finished the demo anyway. The idea for it came from John Conway's "Game of Life" (I mean the "generation" of new cycles of cells -or pixels in my case- on the screen), but during the development the focus changed to generating "perfect" circles. To tell the truth: I never did reach this goal Wink, but I did not force it any further since I liked the end result even better. Smile

The demo had no name until just before a couple of days, when I started to think of something that is simple and sounds good. There are quite some alternatives that came to my mind: "circles", "rings", "waves", "ripples". The first two do not really reflect the effect that the demo shows ... and from the latter two "ripples" sounded more sophisticated. Wink

So here you are: I present you "Ripples"! Laughing out loud

Some thoughts for end-users ...
You have to download the attached "" executable and run it. It'll change to 320x200x256 video mode and start to draw the ripples at once. You can interact with the demo by pressing keys, this will change the way how the ripples are generated. You can exit the demo by pressing the Escape key (the upper-left key on your PC's keyboard).

Some thoughts for programmers ...
Please, do not ask me questions about "why did I this" or "how does that work". I've written this demo quite some time back and haven't touched any assembly since 1998 or so. I took a look at the code (since I had to reformat it and translate all the comments to English before publishing it at my website) and to be frankly: now I do not understand the most of it. Sad Of course I still remember the basic assembly instructions, but I do not remember the various interrupt calls or the details of the ripple-generator logic. I suspect that this is the fate of all knowledge: one learns, one uses ... and one forgets. Shock Actually there's nothing wrong with this until all forgotten knowledge is replaced by something newly learned. The problems start, when you only forget and learn nothing new anymore. :->

P.S.: you can use the source in any way you want, I have no further plans for it. I only ask you to give me credit if you use it in your derivative works.

ripples.asm9.11 KB
ripples.com253 bytes