Demos that no one has ever seen

I will say right away that I am not a demo maker, stage designer or even a programmer, so my opinion is just my opinion. I, so to speak, an “amateur” or something.

I’ll tell you how it was with me. I started with the Soviet semi-IBM compatible computer “Search”. Konfa: analogue of i8088 processor, CGA monitor. He began to “program” with batch files (.BAT) for there was a book on MS-DOS and a diskette with this same MS-DOS. There were no mention of any BASICs, assemblers, pascals or, especially, si, and it was not possible to rewrite them from somewhere else. Because then, all the other schoolchildren had a minimum - Chinese Tetris, and as a maximum - Dendy, as the highest achievement of the computer industry.

But then gradually the first personals 286 began to appear to some people. Parents dragged them from work, along with debug.exe and other qb.exe. So, I began to appear on floppy disks compilers with Java.

QB.EXE, or Quick Basic, yes, it appeared to me earlier than turbo pascal, so there was no question on what code. Moreover, the book “Basic for Statisticians” or something like that came from somewhere. Of course, at that time I still had no idea what statistics were, but there were interesting commands in this book (especially for drawing graphs, etc.).



This is how the first sketches of graphic effects appeared. Nobody knew what a “demo” is, but what a “screen saver" in the same Norton Commander many have seen. This is how a set of different “screen savers” appeared, if I may say so. With surprise, the schaz opened in backups:

Year: 1992-93
CPU: i8088 4.73 Mhz
Arc: MS-DOS, Quick Basic



Essentially, there is no matan here - only cycles, only random, only integers. In general, only hardcore (fierce anguish), but then on the "same" computer I personally was delighted (especially the effects with circles, as I remember right now)

Then turbo.exe, the famous Turbo Pascal, came from somewhere. A book of Faronov was immediately bought. At the same time experimented with debug.exe, delved into assembler commands. And I began the period of "system" programming, so to speak: all sorts of numerous converters, disk utilities, graphic editors, MOD players, snake games, com cryptors, BMP viewers, etc., etc.

As a systematization of all this “system” in 1997, we started a file manager with one friend, so that Volkov could get away with its 64Kb file size. We must have the size of the executable file smaller and the functionality larger. In general, the idea was a success, although not completely. But our file manager did work and still contain a furious convenient editor and all sorts of utilities for working with disks. Here it is in person - Horizont Present Commander:



And so, in order to somehow advertise this product, this mini-intra was coded:

Year : 1998-99
CPU : Pentium 166Mhz
Arc: MS-DOS Pascal / assembler



Matan is actually there, such as Sin and Cos, but in general, the Algos are compromised from the Disaev Demo Guide, it seems, with minor changes and optimizations in assembler. The music, of course, is also downplayed from somewhere.

Soon I got a moped on 33.6, and a BBS station was created right there. Well, what kind of BBS can without BBStro? So this miracle was born:

Year : 1999-2000
CPU: Pentium 166Mhz
Arc: MS-DOS Pascal / assembler



The effect is purely mine, but in general it was dull and slowed down a little less than in the video, but it slowed down. Also sines and cosines basically. No ultra-high matan.

During the period of systemic coding, there were experiments with various graphic effects, but this was mainly copy-paste from somewhere hidden grades with a change of perhaps only the coefficients and, perhaps, the imposition of their own filters. Well, a couple of their effects. In general, all this button accordion was not succeeded in collecting into any demu. And I didn’t want to, because I’m ashamed. But now, after almost 15 years, I decided to get the arvid from the cabinet and try to glue the selection of the “experiments” of that time. Here, far from everything, but only that which somehow worked and did not look terribly buggy:



Although I must say that each algorithm was rewritten by me from scratch, mainly with assembler optimization. Here is some of the source code from 3D Tor:
Begin
     GetMem(P,64000);
     Asm
        mov ax,13h
        int 10h
     End;
     Port[$3c8] := 1;
     For I := 1 to 63 do
         Begin
              Port[$3c9] := i;
              Port[$3c9] := i;
              Port[$3c9] := i;
         End;
     p1 := 0;
     p2 := 0;
     Repeat
           Asm
              les di,p
              db $66,$33,$c0
              mov cx,320*200/4
              db $f3,$66,$ab
           End;
           p1 := p1+0.03;
           p2 := p2+0.03;
Asm
	fld p2
        db $d9,$ff {fcos}
	fimul o30
	fiadd o100
	fstp r1				{ r1 :=	100+cos(p2)*30}
	fld p1
	db $d9,$fe {fsin}
	fimul o20
	fiadd o50
	fstp r2				{ r2 :=	50+sin(p1)*20}
End;
           c1 := 0;
           Repeat
                 c2 := 0;
                 Repeat
Asm
	fld c2
        db $d9,$ff {fcos}
	fld r2
	fmul
	fld r1
	fadd
	fst r				{ r := r1+cos(c2)*r2}
	fld c1
        db $d9,$fe {fsin}
	fmul
	fstp x				{ x := r*sin(c1)}
	fld c1
        db $d9,$ff {fcos}
	fld r
	fmul
	fild o200
	fadd
	fstp z


What now, the inquisitive reader will ask? Ah, nothing. Home, family, work - work, family, home. Although no, no, and you want to shake the old days. For example, to code a “twinkle” for some kind of auto-navigator or, a little earlier, for a video card on MIPS from Vogue magazine: the same twinkle or sinedots . In general, for devices that fall into the hands.



As for the title of the article, then you are the first people, after me, who sees all this after some 15 years.

PS: And remember: make demo or die!

Also popular now: