pouët.net

Projektbeschreibung by Desire [web]

program Projektbeschreibung;
{
4k elite r0xxorz in your face!!!!!!!!!!!!11
virgill: this is how a 4k can look liek too
}


var textcol:byte;
    textbcol:byte;
    textcorx,textcory:byte;


function projektbezeichnung_keypressed:boolean;
var a:byte;
begin
asm
mov   ah,01
int   16h
jz    @nix
jmp   @was
@nix: mov a,0
jmp   @ende
@was: mov a,1
@ende:
end;
if a=0 then projektbezeichnung_keypressed:=false
       else projektbezeichnung_keypressed:=true;
end;


procedure projektbezeichnung_textcolor(c:byte);
begin
textcol:=c;
end;

procedure projektbezeichnung_textbackground(c:byte);
begin
textbcol:=c;
end;


procedure projektbezeichnung_gotoxy(x,y:byte);
begin
textcorx:=x;
textcory:=y;
end;

procedure projektbezeichnung_start_stuff;
begin

asm
mov al,03h
int 10h
end;

projektbezeichnung_textcolor(7);
projektbezeichnung_textbackground(0);
projektbezeichnung_gotoxy(1,1);
end;


{## illegal text on the screen ##}
procedure projektbezeichnung_clrscr;
var counter:integer;
begin
for counter:=0 to 1999 do mem[$B800:(counter*2)]:=032;
for counter:=0 to 1999 do mem[$B800:(counter*2+1)]:=textcol+textbcol*16;
textcorx:=1;
textcory:=1;
end;


{private tweeny weeny string bikini}
procedure private_write(text:string);
var a:integer;
    b:char;
    c,d:byte;
label 0;
begin
if text='' then begin
                inc(textcorx);
                goto 0;
                end;
if textbcol>7 then textbcol:=7;
if (textcorx<=80)and(textcorx>=0)and
   (textcory<=25)and(textcory>=0)then
   begin
   c:=0;
   d:=0;
   if textcorx>=1 then begin
                      textcorx:=textcorx-1;
                      c:=1;
                      end;
   if textcory>=1 then begin
                      textcory:=textcory-1;
                      d:=1;
                      end;
   for a:=1 to length(text)do
       begin
          begin
          if (textcorx<=80)and(textcory<=25)then
             begin
             b:=text[a];
             mem[$B800:((textcorx*2)+textcory*160)]:=ord(b);
             mem[$B800:((textcorx*2)+textcory*160)+1]:=textcol+textbcol*16;
             end;
             textcorx:=textcorx+1;
          end;
       end;
   end;

if c=1 then inc(textcorx);
if d=1 then inc(textcory);
0:
end;


{too private for your neighbour}
procedure private_writeln(text:string);
begin
private_write(text);
textcorx:=1;
inc(textcory);
end;


{magic section. drop it to the screen. like it's hot.}
begin
projektbezeichnung_start_stuff;
projektbezeichnung_clrscr;
private_writeln('');
projektbezeichnung_textcolor(10);
private_write('          ');
private_writeln('      *//.');
private_write('          ');
private_writeln('           *//.               *//.');
private_write('          ');
private_writeln('               *//.        *//.    *//.');
private_write('          ');
private_writeln('                  *//.   *//.         *//.');
private_write('          ');
private_writeln('    \\\\\\\\\\      *//.  *//.          *//.   \\\\\\\\\\');
private_write('          ');
private_writeln('    ---------- *//.   *//.  *//.    *//.  *//. ----------');
private_write('          ');
private_writeln('    \\\\\\\\\\  *//. *//.     *//.  *//.*//.   \\\\\\\\\\');
private_write('          ');
private_writeln('                  *//.         *//. *//. *//.');
private_write('          ');
private_writeln('                             *//.         *//.');
private_write('          ');
private_writeln('                         *//.               *//.');
private_write('          ');
private_writeln('                                               *//.');
projektbezeichnung_textcolor(15);
private_write('         ');
private_writeln('                           presents');
private_writeln('');
private_write('           ');
private_write('         ');
projektbezeichnung_textcolor(11+128);
projektbezeichnung_textbackground(1);
private_writeln(' P R O J E K T B E S C H R E I B U N G ');
projektbezeichnung_textbackground(0);
projektbezeichnung_textcolor(15);
private_write('         ');
private_writeln('                 a 32 byte intro by hellmood');
projektbezeichnung_textcolor(14);
private_writeln('');
private_write('         ');
private_writeln('            greets: homecoded, rrrola,frag, viler');
private_write('         ');
private_writeln('            T$, Optimus, Trixter, igor, gentleman');
private_write('         ');
private_writeln('            Whizart,g0blinish, Rudi, ryg, wysiwtf');
private_write('         ');
private_writeln('            Orby a.k.a. orbitaldecay,Kuemmel, p01');
private_write('         ');
private_writeln('            Lara,  Oscar  Toledo,  Drift,  maugli');
private_write('         ');
private_writeln('             Harekiet, sen  + all DESiRE members');
projektbezeichnung_textcolor(1);
private_writeln('');
private_write('now please whack a key ...                '); {4096}

 repeat
 until projektbezeichnung_keypressed

end.


{

nfo + logo by sensenstahl
__________________________________________________________________

sensenstahl here: after reading "projektbeschreibung" again at the
oneliner at pouet i hit up hellmood telling him he should name his
prod that way.then i came up with the silly idea to have an nfo as
source code to be even more like ....... projektbeschreibung. good
thing adok has no copyright for projektbeschreibung.  i hope.  and
what about projektbezeichnung? anyway,firing up turbo pascal after
like an eternity was rediculous.  especially on win7 under dosbox.
but i found  the stuff i needed in my old archives so everyone can
compile  this thing  without the  need for external units like the
fucking crt.tpu. sure qbasic would have been even funnier but i am
not THAT silly ;)

hellmood on the keys:  i recently went on my mission of decent 64b
entries - animated ones. while at it i thought: wait, what if it's
possible to create some 3D impression in 32 bytes? I remembered an
intro called "bytevegas" from sensenstahl, where some decent depth
perception was done in 32 bytes. I thought about keeping some rect
based structure like this,but make it more look like my own "lucy"
or digiminds "follow the light", just in 32 bytes instead of 64 ;)
After further research i found rrrolas "paralax", a really awesome
32 byte production showing triangles with a top fake 3D perception
just that the colors were a bit weird , and the paralax effect was
inverted, front to back. After some hours per some days, finally i
was able to achieve the design goal,a clean looking paralax effect
with correct colors, no artifacts, correct depth, showing rects in
the fashion of the recent checkerboard challenge,and as compatible
as possible with every DOS system out there,not relying on the old
"les [bx],bx", but also not ESCapable :(( There is a bonus version
included, that has ESC support,but it will not work on every MSDOS
From the first version on , i was showing my progress to my friend
sensenstahl , because he is THE guy when it comes to putting style
into a tiny intro.Besides the design coaching,he also came up with
the idea of doing the long overdue "Projektbeschreibung" demo with
that crazy executable pascal based NFO ^^ Special thanks go to the
Altair member KK , which gave very valueable tips on which version
to chose from the jungle of possibilities. 
_____________________________________________________________.eof}