This commit is contained in:
Frater 2017-09-24 01:45:36 +02:00
commit 43352ff262
1291 changed files with 220976 additions and 0 deletions

2
TECHNO/DOPIC.BAT Normal file
View file

@ -0,0 +1,2 @@
lbm2p panicpic.lbm troll.up
copy troll.up ..\main\data

BIN
TECHNO/DP_PREFS Normal file

Binary file not shown.

728
TECHNO/KOE.C Normal file
View file

@ -0,0 +1,728 @@
#include <stdio.h>
#include <sys\types.h>
#include <sys\stat.h>
#include <fcntl.h>
#include <io.h>
#include <malloc.h>
#include <graph.h>
#include "..\dis\dis.h"
#include "readp.c"
//extern char pic[];
extern int sin1024[];
char *pic;
char palette[768];
char *palfade;
char rowbuf[320];
int pl=1,plv=0;
char *vbuf;
char pal[16*16*3];
char *vram=(char *)0xa0000000L;
int curpal=0;
extern char power0[];
extern char power1[];
int waitborder(void)
{
static int lasta=0;
int a,r;
char *p;
a=dis_musrow();
if(a!=lasta)
{
lasta=a;
if((a&7)==7) curpal=15;
}
r=dis_waitb();
if(r>10) r=10;
if(r<0) r=1;
p=pal+16*3*curpal;
outp(0x3c8,0);
for(a=0;a<16*3;a++) outp(0x3c9,*p++);
if(curpal)
{
curpal--;
}
return(r);
}
void border(int r,int g,int b)
{
dis_waitb();
outp(0x3c8,0);
outp(0x3c9,r);
outp(0x3c9,g);
outp(0x3c9,b);
dis_waitb();
}
void setborder(int c)
{
return;
_asm
{
mov dx,3dah
in al,dx
mov dx,3c0h
mov al,11h+20h
out dx,al
mov al,byte ptr c
out dx,al
}
}
int * flash(int i)
{
static int pal1[16*3];
int pal2[16*3];
int a,j,k;
if(i==-2) ;
else if(i==-1)
{
outp(0x3c7,0);
for(a=0;a<16*3;a++) pal1[a]=inp(0x3c9);
}
else
{
j=256-i;
for(a=0;a<16*3;a++) pal2[a]=(pal1[a]*j+63*i)>>8;
dis_waitb();
outp(0x3c8,0);
for(a=0;a<16*3;a++) outp(0x3c9,pal2[a]);
}
return(pal1);
}
main(int argc,char *argv[])
{
FILE *f1;
int rot=45;
int x,y,b,c,x1,y1,x2,y2,x3,y3,x4,y4,a,hx,hy,vx,vy,cx,cy,pl=1,plv=0;
int vma,vm;
char ch;
int *ip;
char *v,*p;
dis_partstart();
vbuf=halloc(8192,1);
for(c=0;c<16;c++)
{
p=pal+3*16*c;
for(a=0;a<16;a++)
{
x=0;
if(a&1) x++;
if(a&2) x++;
if(a&4) x++;
if(a&8) x++;
switch(x)
{
case 0 :
*(p++)=0;
*(p++)=0;
*(p++)=0;
break;
case 1 :
*(p++)=38*64/111;
*(p++)=33*64/111;
*(p++)=44*64/111;
break;
case 2 :
*(p++)=52*64/111;
*(p++)=45*64/111;
*(p++)=58*64/111;
break;
case 3 :
*(p++)=67*64/111;
*(p++)=61*64/111;
*(p++)=73*64/111;
break;
case 4 :
*(p++)=83*64/111;
*(p++)=77*64/111;
*(p++)=89*64/111;
break;
}
p-=3;
*p=*p*(10+c*9/9)/10;
if(*p>63) *p=63;
p++;
*p=*p*(10+c*7/9)/10;
if(*p>63) *p=63;
p++;
*p=*p*(10+c*5/9)/10;
if(*p>63) *p=63;
p++;
}
}
asminit(vbuf);
x1=y1=100;
p=power0;
for(b=0;b<16;b++)
{
for(c=0;c<256;c++)
{
if(b==15)
{
ch=(char)c;
*(p++)=ch;
}
else
{
if(c>127) a=c-256;
else a=c;
ch=(char)(a*b/15);
*(p++)=ch;
}
}
}
p=power1;
for(b=0;b<16;b++)
{
for(c=0;c<256;c++)
{
if(b==15)
{
ch=(char)c;
*(p++)=ch;
}
else
{
if(c>127) a=c-256;
else a=c;
ch=(char)(a*b/15);
*(p++)=ch;
}
}
}
while(!dis_exit() && dis_musplus()<-4) ;
dis_setmframe(0);
dointerference2();
initinterference();
if(!dis_exit())
{
dointerference();
flash(-1);
flash(32);
flash(64);
flash(192);
flash(256);
_asm
{
; mov dx,3c8h
; xor al,al
; out dx,al
; inc dx
; mov cx,16*3
;l1: out dx,al
; loop l1
mov dx,3d4h
mov ax,0013h+256*20
out dx,ax
mov ax,000dh
out dx,ax
mov ax,000ch
out dx,ax
mov dx,3dah
in al,dx
mov dx,3c0h
mov al,13h
out dx,al
xor al,al
out dx,al
mov al,20h
out dx,al
mov dx,3c4h
mov ax,0f02h
out dx,ax
}
memset(vram,0,64000);
_asm
{
mov dx,3c4h
mov ax,0f02h
out dx,ax
}
memset(vram,255,8000);
ip=flash(-2);
for(a=0;a<16;a++)
{
ip[a*3+0]=a*6/2;
ip[a*3+1]=a*7/2;
ip[a*3+2]=a*8/2;
}
while(!dis_exit() && dis_musplus()<-3) ;
while(!dis_exit())
{
a=dis_musrow()&7;
if(a==7) break;
}
for(b=0;b<4 && !dis_exit();b++)
{
char *v;
int zly,zy,zya;
zy=0; zya=0; zly=0;
for(a=256;a>-400;a-=32)
{
zly=zy;
zya++;
zy+=zya;
v=vram+zly*40;
for(y=zly;y<zy;y++)
{
memset(v+b*10,0,10);
v+=40;
}
if(a>=0) flash(a);
else flash(0);
}
while(!dis_exit())
{
a=dis_musrow()&7;
if(a==7) break;
}
{
flash(-1);
flash(32);
flash(64);
flash(192);
flash(256);
}
}
}
pic=halloc(20000,4);
if(!pic)
{
_asm mov ax,0
_asm int 10h
printf("GENERAL WINDOWS VIOLATION - REMOVE WINDOWS.");
getch();
exit(3);
}
palfade=halloc(13000,1);
dis_partstart();
doit1(70*6);
doit2(70*12);
doit3(70*14);
hfree(palfade);
hfree(pic);
if(!dis_indemo())
{
_asm mov ax,3
_asm int 10h
}
return(0);
}
int doit1(int count)
{
int rot=45;
int x,y,c,x1,y1,x2,y2,x3,y3,x4,y4,a,hx,hy,vx,vy,cx,cy;
int vma,vm;
vm=50; vma=0;
waitborder();
plv=0; pl=1;
while(!dis_exit() && count>0)
{
count-=waitborder();
setborder(1);
memset(vbuf,0,8000);
{
hx=sin1024[(rot+0)&1023]*16*6/5;
hy=sin1024[(rot+256)&1023]*16;
vx=sin1024[(rot+256)&1023]*6/5;
vy=sin1024[(rot+512)&1023];
vx=vx*vm/100;
vy=vy*vm/100;
for(c=-10;c<11;c+=2)
{
cx=vx*c*2; cy=vy*c*2;
x1=(-hx-vx+cx)/16+160; y1=(-hy-vy+cy)/16+100;
x2=(-hx+vx+cx)/16+160; y2=(-hy+vy+cy)/16+100;
x3=(+hx+vx+cx)/16+160; y3=(+hy+vy+cy)/16+100;
x4=(+hx-vx+cx)/16+160; y4=(+hy-vy+cy)/16+100;
asmbox(x1,y1,x2,y2,x3,y3,x4,y4);
}
rot+=2;
vm+=vma;
if(vm<25)
{
vm-=vma;
vma=-vma;
}
vma--;
}
_asm mov dx,3c4h
_asm mov ah,pl
_asm mov al,2
_asm out dx,ax
asmdoit(vbuf,vram);
a=plv*0x20;
_asm mov dx,3d4h
_asm mov al,0ch
_asm mov ah,byte ptr a
_asm out dx,ax
plv++; plv&=7;
vram=(char *)(0xa0000000L+0x2000000L*(long)plv);
if(!plv)
{
pl<<=1;
if(pl>15) pl=1;
}
setborder(0);
}
}
int doit2(int count)
{
int rot=50,rota=10;
int x,y,c,x1,y1,x2,y2,x3,y3,x4,y4,a,hx,hy,vx,vy,cx,cy;
int vma,vm;
vm=100*64; vma=0;
waitborder();
plv=0; pl=1;
while(!dis_exit() && count>0)
{
count-=waitborder();
setborder(1);
memset(vbuf,0,8000);
{
hx=sin1024[(rot+0)&1023]*16*6/5;
hy=sin1024[(rot+256)&1023]*16;
vx=sin1024[(rot+256)&1023]*6/5;
vy=sin1024[(rot+512)&1023];
vx=vx*(vm/64)/100;
vy=vy*(vm/64)/100;
for(c=-10;c<11;c+=2)
{
cx=vx*c*2; cy=vy*c*2;
x1=(-hx-vx+cx)/16+160; y1=(-hy-vy+cy)/16+100;
x2=(-hx+vx+cx)/16+160; y2=(-hy+vy+cy)/16+100;
x3=(+hx+vx+cx)/16+160; y3=(+hy+vy+cy)/16+100;
x4=(+hx-vx+cx)/16+160; y4=(+hy-vy+cy)/16+100;
asmbox(x1,y1,x2,y2,x3,y3,x4,y4);
}
rot+=rota/10;
vm+=vma;
if(vm<0)
{
vm-=vma;
vma=-vma;
}
vma--;
rota++;
}
_asm mov dx,3c4h
_asm mov ah,pl
_asm mov al,2
_asm out dx,ax
asmdoit(vbuf,vram);
a=plv*0x20;
_asm mov dx,3d4h
_asm mov al,0ch
_asm mov ah,byte ptr a
_asm out dx,ax
plv++; plv&=7;
vram=(char *)(0xa0000000L+0x2000000L*(long)plv);
if(!plv)
{
pl<<=1;
if(pl>15) pl=1;
}
setborder(0);
}
}
int doit3(int count)
{
int rot=45,rota=10,rot2=0;
int x,y,c,x1,y1,x2,y2,x3,y3,x4,y4,a,b,hx,hy,vx,vy,cx,cy,wx,wy;
int vma,vm,xpos=320,xposa=0;
int ripple,ripplep,repeat=1;
char *p;
vm=100*64; vma=0;
waitborder();
outp(0x3c8,0);
for(a=0;a<16*3;a++) outp(0x3c9,0);
_asm
{
mov dx,3c4h
mov ax,0f02h
out dx,ax
}
vram=(char *)(0xa0000000L);
memset(vram,0,32768);
memset(vram+32768,0,32768);
_asm
{
mov dx,3d4h
mov ax,0dh+256*40
out dx,ax
mov ax,0ch+256*0
out dx,ax
mov ax,13h+256*40
out dx,ax
}
vram=(char *)(0xa0000000L+40);
plv=0; pl=1;
while(!dis_exit() && count>0)
{
a=dis_getmframe();
if(a>2520)
{
if(xpos!=0) xpos=0;
else break;
}
if(count<333)
{
while(repeat--)
{
xpos-=xposa/4;
if(xpos<0) xpos=0;
else xposa++;
}
if(xpos==0) break;
}
if(rot2<32)
{
wx=sin1024[(rot2+0)&1023]*rot2/8+160;
wy=sin1024[(rot2+256)&1023]*rot2/8+100;
}
else
{
wx=sin1024[(rot2+0)&1023]/4+160;
wy=sin1024[(rot2+256)&1023]/4+100;
}
rot2+=17;
a=xpos/8;
_asm mov dx,3d4h
_asm mov ah,byte ptr a
_asm mov al,0dh
_asm out dx,ax
count-=(repeat=waitborder());
a=xpos&7;
_asm mov dx,3dah
_asm in al,dx
_asm mov dx,3c0h
_asm mov al,13h
_asm out dx,al
_asm mov al,byte ptr a
_asm out dx,al
_asm mov al,20h
_asm out dx,al
setborder(1);
memset(vbuf,0,8000);
{
hx=sin1024[(rot+0)&1023]*16*6/5;
hy=sin1024[(rot+256)&1023]*16;
vx=sin1024[(rot+256)&1023]*6/5;
vy=sin1024[(rot+512)&1023];
vx=vx*(vm/64)/100;
vy=vy*(vm/64)/100;
for(c=-10;c<11;c+=2)
{
cx=vx*c*2; cy=vy*c*2;
x1=(-hx-vx+cx)/16+wx; y1=(-hy-vy+cy)/16+wy;
x2=(-hx+vx+cx)/16+wx; y2=(-hy+vy+cy)/16+wy;
x3=(+hx+vx+cx)/16+wx; y3=(+hy+vy+cy)/16+wy;
x4=(+hx-vx+cx)/16+wx; y4=(+hy-vy+cy)/16+wy;
asmbox(x1,y1,x2,y2,x3,y3,x4,y4);
}
rot+=rota/10;
{
vm+=vma;
if(vm<0)
{
vm-=vma;
vma=-vma;
}
vma--;
}
rota++;
}
_asm mov dx,3c4h
_asm mov ah,pl
_asm mov al,2
_asm out dx,ax
asmdoit2(vbuf,vram);
a=plv*0x20;
_asm mov dx,3d4h
_asm mov al,0ch
_asm mov ah,byte ptr a
_asm out dx,ax
plv+=2; plv&=7;
vram=(char *)(0xa0000000L+0x2000000L*(long)plv+40);
if(!plv)
{
pl<<=1;
if(pl>15) pl=1;
}
setborder(0);
}
_asm mov ax,13h
_asm int 10h
inittwk();
_asm
{
mov dx,3d4h
mov ax,13h+256*80
out dx,ax
}
vram=(char *)(0xa0000000L);
if(dis_exit()) return;
{
FILE *f1;
int h;
char *p=pic;
h=open("troll.up",O_BINARY|O_RDONLY);
dis_waitb();
read(h,p,40000);
dis_waitb();
_asm add word ptr p[2],40000/16
read(h,p,40000);
close(h);
}
dis_waitb();
readp(palette,-1,pic);
for(y=0;y<400;y++)
{
readp(rowbuf,y,pic);
lineblit(vram+80U+(unsigned)y*160U,rowbuf);
}
p=palfade;
for(y=0;y<16;y++)
{
x=(45-y*3);
for(a=0;a<768;a++)
{
c=palette[a]+x;
if(c>63) c=63;
*p++=c;
}
}
dis_waitb();
setpalarea(palette,0,256);
while(!dis_exit())
{
_asm
{
mov bx,6
int 0fch
mov b,bx
mov a,cx
}
if(a>35 || (a==35 && b>48)) break;
}
count=300;
xposa=0; xpos=0;
while(!dis_exit() && count>0)
{
if(xpos==320) break;
xpos+=xposa/4;
if(xpos>320) xpos=320;
else xposa++;
a=xpos/4;
_asm mov dx,3d4h
_asm mov ah,byte ptr a
_asm mov al,0dh
_asm out dx,ax
count-=dis_waitb();
a=(xpos&3)*2;
_asm mov dx,3dah
_asm in al,dx
_asm mov dx,3c0h
_asm mov al,13h
_asm out dx,al
_asm mov al,byte ptr a
_asm out dx,al
_asm mov al,20h
_asm out dx,al
}
count=50; c=0;
ripple=0; ripplep=8;
while(!dis_exit() && count>0)
{
if(ripplep>1023) ripplep=1024;
else ripplep=ripplep*5/4;
xpos=320+sin1024[ripple&1023]/ripplep;
ripple+=ripplep+100;
a=xpos/4;
_asm mov dx,3d4h
_asm mov ah,byte ptr a
_asm mov al,0dh
_asm out dx,ax
count-=dis_waitb();
a=(xpos&3)*2;
_asm mov dx,3dah
_asm in al,dx
_asm mov dx,3c0h
_asm mov al,13h
_asm out dx,al
_asm mov al,byte ptr a
_asm out dx,al
_asm mov al,20h
_asm out dx,al
if(c<16)
{
setpalarea(palfade+c*768,0,256);
c++;
}
}
setpalarea(palette,0,256);
count=420; xpos=320;
while(!dis_exit() && count>0)
{
a=dis_musplus();
if(a>-6 && a<16) break;
a=xpos/4;
_asm mov dx,3d4h
_asm mov ah,byte ptr a
_asm mov al,0dh
_asm out dx,ax
count-=dis_waitb();
a=(xpos&3)*2;
_asm mov dx,3dah
_asm in al,dx
_asm mov dx,3c0h
_asm mov al,13h
_asm out dx,al
_asm mov al,byte ptr a
_asm out dx,al
_asm mov al,20h
_asm out dx,al
}
}

BIN
TECHNO/KOE.EXE Normal file

Binary file not shown.

49
TECHNO/KOE.MAP Normal file
View file

@ -0,0 +1,49 @@
Start Stop Length Name Class
00000H 019C8H 019C9H KOE_TEXT CODE
019D0H 05663H 03C94H CODE CODE
05670H 0789FH 02230H code2 CODE
078A0H 07973H 000D4H text_disc CODE
07974H 0910AH 01797H _TEXT CODE
09110H 09111H 00002H EMULATOR_TEXT CODE
09112H 09112H 00000H C_ETEXT ENDCODE
09120H 0EEDFH 05DC0H DATA__circle FARDATA
0EEE0H 10E1FH 01F40H DATA__circle2 FARDATA
10E20H 10E20H 00000H EMULATOR_DATA FAR_DATA
10E20H 115CBH 007ACH FAR_BSS FAR_BSS
115D0H 11611H 00042H NULL BEGDATA
11612H 11939H 00328H _DATA DATA
1193AH 1193BH 00002H XIQC DATA
1193CH 11949H 0000EH DBDATA DATA
1194AH 11957H 0000EH CDATA DATA
11958H 11958H 00000H XIFB DATA
11958H 11958H 00000H XIF DATA
11958H 11958H 00000H XIFE DATA
11958H 11958H 00000H XIB DATA
11958H 11958H 00000H XI DATA
11958H 11958H 00000H XIE DATA
11958H 11958H 00000H XPB DATA
11958H 1195BH 00004H XP DATA
1195CH 1195CH 00000H XPE DATA
1195CH 1195CH 00000H XCB DATA
1195CH 1195CH 00000H XC DATA
1195CH 1195CH 00000H XCE DATA
1195CH 1195CH 00000H XCFB DATA
1195CH 1195CH 00000H XCF DATA
1195CH 1195CH 00000H XCFE DATA
1195CH 119A3H 00048H CONST CONST
119A4H 119ABH 00008H HDR MSG
119ACH 11A81H 000D6H MSG MSG
11A82H 11A83H 00002H PAD MSG
11A84H 11A84H 00001H EPAD MSG
11A86H 11A86H 00000H _BSS BSS
11A86H 11A86H 00000H XOB BSS
11A86H 11A86H 00000H XO BSS
11A86H 11A86H 00000H XOE BSS
11A90H 11C8FH 00200H c_common BSS
11C90H 1248FH 00800H STACK STACK
Origin Group
115D:0 DGROUP
Program entry point at 0797:0014

BIN
TECHNO/KOE.OBJ Normal file

Binary file not shown.

1066
TECHNO/KOEA.ASM Normal file

File diff suppressed because it is too large Load diff

BIN
TECHNO/KOEA.OBJ Normal file

Binary file not shown.

632
TECHNO/KOEB.ASM Normal file
View file

@ -0,0 +1,632 @@
extrn _circle:byte
extrn _circle2:byte
code2 SEGMENT para public 'CODE'
ASSUME cs:code2
.386
LOCALS
include sin1024.inc
;################################################################
sizefade dw 0
rotspeed dw 0
palfader dw 0
palfader2 db 255
zumplane db 11h
ALIGN 16
flip8 LABEL BYTE
db 0,128,64,192,32,160,96,224,16,144,80,208,48,176,112,240,8,136,72,200
db 40,168,104,232,24,152,88,216,56,184,120,248,4,132,68,196,36,164,100
db 228,20,148,84,212,52,180,116,244,12,140,76,204,44,172,108,236,28,156
db 92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178
db 114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6
db 134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206
db 46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225
db 17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217
db 57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245
db 13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,3,131,67,195
db 35,163,99,227,19,147,83,211,51,179,115,243,11,139,75,203,43,171,107,235
db 27,155,91,219,59,187,123,251,7,135,71,199,39,167,103,231,23,151,87,215
db 55,183,119,247,15,143,79,207,47,175,111,239,31,159,95,223,63,191,127,255
circles dw 8 dup(0)
pal db 32*3 dup(0)
pal0 LABEL WORD
db 0,30,40
db 0,0 ,0
db 0,0 ,0
db 0,0 ,0
db 0,0 ,0
db 0,0 ,0
db 0,0 ,0
db 0,0 ,0
db 0,30,40
db 0,0 ,0
db 0,0 ,0
db 0,0 ,0
db 0,0 ,0
db 0,0 ,0
db 0,0 ,0
db 0,0 ,0
pal1 LABEL WORD
db 0, 0*7/9, 0
db 10,10*7/9,10
db 20,20*7/9,20
db 30,30*7/9,30
db 40,40*7/9,40
db 50,50*7/9,50
db 60,60*7/9,60
db 30,30*7/9,30
db 0, 0*7/9, 0
db 10,10*7/9,10
db 20,20*7/9,20
db 30,30*7/9,30
db 40,40*7/9,40
db 50,50*7/9,50
db 60,60*7/9,60
db 30,30*7/9,30
pal2 LABEL WORD
db 50,50*6/9,50
db 60,60*6/9,60
db 30,30*6/9,30
db 0, 0*6/9, 0
db 10,10*6/9,10
db 20,20*6/9,20
db 30,30*6/9,30
db 40,40*6/9,40
db 50,50*6/9,50
db 60,60*6/9,60
db 30,30*6/9,30
db 0, 0*6/9, 0
db 10,10*6/9,10
db 20,20*6/9,20
db 30,30*6/9,30
db 40,40*6/9,40
sinuspower db 0
powercnt db 0
PUBLIC _power1
_power1 LABEL WORD
power0 db 256 dup(0)
db 256 dup(0)
db 256 dup(0)
db 256 dup(0)
db 256 dup(0)
db 256 dup(0)
db 256 dup(0)
db 256 dup(0)
db 256 dup(0)
db 256 dup(0)
db 256 dup(0)
db 256 dup(0)
db 256 dup(0)
db 256 dup(0)
db 256 dup(0)
db 256 dup(0)
PLANE MACRO pl
mov dx,3c4h
mov ax,0002h+pl*100h
out dx,ax
ENDM
bltline PROC NEAR
push si
mov dx,3c4h
mov al,2
out dx,al
inc dx
@@1: mov al,ch
out dx,al
zzz=0
REPT 10
mov eax,ds:[si+zzz]
mov es:[di+zzz],eax
zzz=zzz+4
ENDM
add si,40
shl ch,1
dec cl
jnz @@1
pop si
ret
bltline ENDP
bltlinerev PROC NEAR
push si
mov dx,3c4h
mov al,2
out dx,al
inc dx
xor bx,bx
@@1: mov al,ch
out dx,al
zzz=0
REPT 10
mov bl,ds:[si+36-zzz]
mov al,cs:flip8[bx]
rol eax,8
mov bl,ds:[si+37-zzz]
mov al,cs:flip8[bx]
rol eax,8
mov bl,ds:[si+38-zzz]
mov al,cs:flip8[bx]
rol eax,8
mov bl,ds:[si+39-zzz]
mov al,cs:flip8[bx]
mov es:[di+zzz],eax
zzz=zzz+4
ENDM
add si,40
shl ch,1
dec cl
jnz @@1
pop si
ret
bltlinerev ENDP
resetmode13 PROC NEAR
mov bx,1
int 0fch
mov dx,3c8h
mov al,0
out dx,al
inc dx
mov cx,768
@@ccc: out dx,al
loop @@ccc
mov bx,1
int 0fch
mov ax,13
int 10h
mov dx,3dah
in al,dx
mov dx,3c0h
xor al,al
REPT 16
out dx,al
out dx,al
inc al
ENDM
mov al,11h
out dx,al
mov al,255
out dx,al
mov al,32
out dx,al
;clear pal
mov dx,3c8h
xor al,al
out dx,al
inc dx
mov cx,768
@@clp: out dx,al
loop @@clp
ret
resetmode13 ENDP
mixpal PROC NEAR
;cs:si=>cs:di, for cx
push dx
cmp dx,256
jg @@2
mov bx,dx
@@1: mov al,cs:[si]
xor ah,ah
inc si
mul bx
shr ax,8
mov cs:[di],al
inc di
loop @@1
pop dx
ret
@@2: mov bx,dx
sub bx,256
@@4: mov al,cs:[si]
xor ah,ah
inc si
add ax,bx
cmp ax,64
jb @@3
mov al,63
@@3: mov cs:[di],al
inc di
loop @@4
pop dx
ret
mixpal ENDP
outpal PROC NEAR
mov dx,3c8h
out dx,al
mov ax,cs
mov ds,ax
inc dx
rep outsb
ret
outpal ENDP
waitb PROC NEAR
mov bx,1
int 0fch
ret
waitb ENDP
rotate1 PROC NEAR
xor si,si
mov cx,32000/32-2
cld
jmp @@2
;edx.eax
@@1: popf
zzz=0
REPT 16
mov ax,ds:[si+zzz]
rcr al,1
rcr ah,1
mov es:[si+zzz],ax
zzz=zzz+2
ENDM
@@2: pushf
add si,zzz
dec cx
jz @@0
jmp @@1
@@0: popf
ret
rotate1 ENDP
ALIGN 2
framecount dw 0
palanimc dw 0
palanimc2 dw 0
scrnpos dw 0
scrnposl dw 0
scrnx dw 0
scrny dw 0
scrnrot dw 0
sinurot dw 0
overrot dw 0
overx dw 0
overya dw 0
patdir dw -3
memseg dw 0
init_interference PROC NEAR
mov dx,3d4h
mov ax,2813h
out dx,ax
mov bx,20+100*80
;get mem for circles
mov ah,48h
mov bx,16384
int 21h
mov cs:memseg,ax
zzz=0
REPT 8
mov cs:circles[zzz],ax
add ax,2048
zzz=zzz+2
ENDM
mov ax,SEG _circle2
mov ds,ax
xor si,si
mov ax,0a000h
mov es,ax
mov cx,200
xor di,di
mov bp,80*399
@@1: push cx
push di
mov cx,0401h
call bltline
add di,40
mov cx,0401h
call bltlinerev
add di,40
mov di,bp
mov cx,0401h
call bltline
add di,40
mov cx,0401h
call bltlinerev
add di,40
pop di
add di,80
sub bp,80
add si,40
pop cx
loop @@1
mov dx,3ceh
mov ax,0204h
out dx,ax
mov cx,400
mov es,cs:circles[0]
mov ax,0a000h
mov ds,ax
mov cx,32000/4
xor si,si
xor di,di
rep movsd
zzz=0
REPT 7
mov ds,cs:circles[zzz]
mov es,cs:circles[zzz+2]
call rotate1
zzz=zzz+2
ENDM
mov ax,SEG _circle
mov ds,ax
xor si,si
mov ax,0a000h
mov es,ax
mov cx,200
xor di,di
mov bp,80*399
@@10: push cx
push di
mov cx,0103h ;start at plane 1, copy 3 planes
call bltline
add di,40
mov cx,0103h ;start at plane 1, copy 3 planes
call bltlinerev
add di,40
mov di,bp
mov cx,0103h ;start at plane 1, copy 3 planes
call bltline
add di,40
mov cx,0103h ;start at plane 1, copy 3 planes
call bltlinerev
add di,40
pop di
add di,80
sub bp,80
add si,40*3
pop cx
loop @@10
mov cs:framecount,0
ret
init_interference ENDP
do_interference PROC NEAR
@@aga: call waitb
mov dx,3c0h
mov al,13h
out dx,al
mov al,byte ptr cs:scrnposl
out dx,al
mov al,32
out dx,al
xor al,al
mov si,OFFSET pal
mov cx,16*3
call outpal
mov si,cs:palanimc
add si,cs:patdir
cmp si,0
jge @@a11
mov si,8*3-3
@@a11: cmp si,8*3
jb @@a1
xor si,si
@@a1: mov cs:palanimc,si
mov cs:palanimc2,si
mov dx,cs:palfader
add dx,2
cmp dx,512
jb @@pf1
mov dx,512
@@pf1: mov cs:palfader,dx
;
mov si,cs:palanimc
add si,OFFSET pal0
mov di,OFFSET pal
mov cx,8*3
call mixpal
mov si,cs:palanimc
add si,OFFSET pal0
mov di,OFFSET pal+8*3
mov cx,8*3
call mixpal
mov si,OFFSET pal
mov al,0
mov cx,16*3
call outpal
jmp @@OVER3
mov dx,3c4h
mov al,2
mov ah,cs:zumplane
rol ah,1
mov cs:zumplane,ah
out dx,ax
mov ax,0a000h
mov es,ax
xor si,si
mov di,cs:scrnpos
mov bp,cs:sinurot
add bp,7*2
and bp,2047
mov cs:sinurot,bp
mov cx,200
@@cp1: zzz=0
push si
add bp,9*2
and bp,2047
mov bx,cs:_sin1024[bp]
sar bx,3
mov bh,cs:sinuspower
movsx ax,byte ptr cs:power0[bx]
sub ax,cs:scrnposl
add ax,cs:overx
mov bx,ax
and bx,7
shl bx,1
neg bx
mov ds,cs:circles[bx+7*2]
sar ax,3
add si,ax
add si,cs:overya
REPT 40/4+1
mov eax,ds:[si+zzz]
mov es:[di+zzz],eax
zzz=zzz+4
ENDM
pop si
add di,80
add si,80
dec cx
jz @@cp0
jmp @@cp1
@@cp0:
@@OVER3:
;MOVE
mov bx,6
int 0fch
;bx=row
and bx,7
cmp bx,0
jne @@m1
mov cs:patdir,-3
@@m1: cmp bx,4
jne @@m2
mov cs:patdir,-3 ;-3
@@m2:
mov bx,cs:scrnrot
add bx,5
and bx,1023
mov cs:scrnrot,bx
cmp cs:framecount,64
jb @@szf1
inc cs:rotspeed
mov ax,cs:sizefade
cmp ax,16834
jge @@1
;add ax,256
@@1: mov cs:sizefade,ax
@@szf1:
shl bx,1
mov ax,cs:_sin1024[bx]
imul cs:sizefade
mov ax,dx
add ax,160
mov cs:scrnx,ax
add bx,256*2
and bx,1024*2-1
mov ax,cs:_sin1024[bx]
imul cs:sizefade
mov ax,dx
add ax,100
mov cs:scrny,ax
mov bx,cs:overrot
add bx,cs:rotspeed
and bx,1023
mov cs:overrot,bx
shl bx,1
mov ax,cs:_sin1024[bx]
sar ax,2
imul cs:sizefade
mov ax,dx
add ax,160
mov cs:overx,ax
add bx,256*2
and bx,1024*2-1
mov ax,cs:_sin1024[bx]
sar ax,2
imul cs:sizefade
mov ax,dx
add ax,100
mov bx,80
mul bx
mov cs:overya,ax
mov ax,cs:scrnx
mov bx,ax
and ax,7
mov cs:scrnposl,ax
mov ax,80
mul cs:scrny
sar bx,3
add ax,bx
mov cs:scrnpos,ax
mov bx,cs:scrnpos
mov dx,3d4h
mov al,0ch
mov ah,bh
out dx,ax
inc al
mov ah,bl
out dx,ax
cmp cs:framecount,192
jb @@asd2
test cs:framecount,3
jnz @@asd2
@@asd2:
; cmp cs:framecount,256
; jb @@p1
; inc cs:powercnt
; cmp cs:powercnt,16
; jb @@p1
; mov cs:powercnt,0
; cmp cs:sinuspower,15
; jae @@p1
; inc cs:sinuspower
@@p1:
inc cs:framecount
cmp cs:framecount,256
je @@xx
mov bx,2
int 0fch
or ax,ax
jz @@aga
@@xx: ret
do_interference ENDP
PUBLIC _dointerference2
_dointerference2 PROC FAR
push bp
mov bp,sp
push si
push di
push ds
call resetmode13
call init_interference
call do_interference
mov es,cs:memseg
mov ah,49h
int 21h
pop ds
pop di
pop si
pop bp
ret
_dointerference2 ENDP
code2 ENDS
END

BIN
TECHNO/KOEB.OBJ Normal file

Binary file not shown.

101
TECHNO/LINECLIP.OLD Normal file
View file

@ -0,0 +1,101 @@
CYMIN equ 0
CYMAX equ 199
CXMIN equ 0
CXMAX equ 319
clipline PROC NEAR
;entry: (ax,bx)-(dx,cx)
;exit: (ax,bx)-(dx,cx) [clipped]
;(si,bx)-(di,cx)
mov cs:clipleft,0
cmp bx,cx
jle @@2
mov si,dx
mov di,ax
xchg bx,cx
jmp @@1
@@2: mov si,ax
mov di,dx
@@1: ;--- bx<=cx
cmp bx,CYMIN
jge @@3
cmp cx,CYMIN
jl @@hid
mov ax,di
sub ax,si
mov bp,CYMIN
sub bp,bx
imul bp
mov bp,cx
sub bp,bx
idiv bp
mov bx,CYMIN
add si,ax
@@3: cmp cx,CYMAX
jle @@4
cmp bx,CYMAX
jg @@hid
mov ax,si
sub ax,di
mov bp,cx
sub bp,CYMAX
imul bp
mov bp,cx
sub bp,bx
idiv bp
mov cx,CYMAX
add di,ax
@@4: ;--- si<=di
cmp si,di
jle @@5
xchg si,di
xchg bx,cx
@@5: cmp si,CXMIN
jge @@6
cmp di,CXMIN
jl @@hid2
mov ax,cx
sub ax,bx
mov bp,CXMIN
sub bp,si
imul bp
mov bp,di
sub bp,si
idiv bp
mov si,CXMIN
add bx,ax
mov cs:clipleft,ax
@@6: cmp di,CXMAX
jle @@7
cmp si,CXMAX
jg @@hid
mov ax,bx
sub ax,cx
mov bp,di
sub bp,CXMAX
imul bp
mov bp,di
sub bp,si
idiv bp
mov di,CXMAX
add cx,ax
@@7: mov ax,si
mov dx,di
cmp bx,cx
je @@hid
clc
ret
@@hid: stc
ret
@@hid2: ;hidden to left
mov bp,cx
sub bp,bx
mov cs:clipleft,bp
mov ax,si
mov dx,di
mov cx,bx
clc
ret
clipline ENDP

26
TECHNO/MAKEFILE Normal file
View file

@ -0,0 +1,26 @@
all : koe.exe
# objects
objs=koe.obj koea.obj koeb.obj
data=_circle.obk _circle2.obk
#_pic1.obk _pic2.obk
# option flags
asm_f = /ML /m9 /s /JJUMPS
c_f = /AL /c /W3
# general compile orders
.asm.obj :
tasm $(asm_f) $<
.c.obj :
cl /qc $(c_f) $<
koe.exe : $(objs)
link /E $(objs)+$(data)+..\dis\disc.obj,koe.exe,koe.map;
copy koe.exe ..\main\data\techno.exe

BIN
TECHNO/PANICPIC.LBM Normal file

Binary file not shown.

273
TECHNO/POLYCLIP.ASM Normal file
View file

@ -0,0 +1,273 @@
ALIGN 2
WMINY dw 0
WMAXY dw 199
WMINX dw 0
WMAXX dw 319
clip_x1 dw 0
clip_y1 dw 0
clip_x2 dw 0
clip_y2 dw 0
clipxy2 dw 32 dup(0,0) ;tmp storage for polyclip
clipanypoly PROC NEAR
;polyisides/polyixy =>polysides/polyxy
mov ax,cs
mov ds,ax
mov cx,ds:polyisides
cmp cx,2
jg cap3
cmp cx,1
je cap4
jcxz cap0
;line
mov eax,dword ptr ds:polyixy[0]
mov dword ptr ds:clip_x1,eax
mov eax,dword ptr ds:polyixy[4]
mov dword ptr ds:clip_x2,eax
cap2r: call clipliney
cmp ax,0
jnz cap0
call cliplinex
cmp ax,0
jnz cap0
mov eax,dword ptr ds:clip_x1
mov dword ptr ds:polyxy[0],eax
mov edx,dword ptr ds:clip_x2
mov dword ptr ds:polyxy[4],edx
cmp eax,edx
je cap2
mov word ptr ds:polysides,2
ret
cap2: mov word ptr ds:polysides,1
ret
cap4: ;dot
mov eax,dword ptr ds:polyixy[0]
cmp ax,cs:WMINX
jl cap0
cmp ax,cs:WMAXX
jg cap0
ror eax,16
cmp ax,cs:WMINY
jl cap0
cmp ax,cs:WMAXY
jg cap0
ror eax,16
mov dword ptr ds:polyxy,eax
mov word ptr cs:polysides,1
ret
cap0: ;all clipped away
mov word ptr ds:polysides,0
ret
cap3: ;polygon, first clip y, then x
mov si,cx
shl si,2
sub si,4
mov di,0
mov eax,dword ptr ds:polyixy[si]
mov dword ptr ds:clip_x1,eax
mov eax,dword ptr ds:polyixy[di]
mov dword ptr ds:clip_x2,eax
call clipliney
;
mov cx,ds:polyisides
xor di,di
xor bx,bx
mov edx,80008000h
jmp cap35
cap32: push di
push bx
push cx
push edx
mov si,di
sub si,4
mov eax,dword ptr ds:polyixy[si]
mov dword ptr ds:clip_x1,eax
mov eax,dword ptr ds:polyixy[di]
mov dword ptr ds:clip_x2,eax
call clipliney
pop edx
pop cx
pop bx
pop di
cap35: cmp ax,0
jnz cap34
mov eax,dword ptr ds:clip_x1
cmp eax,edx
je cap33
mov dword ptr ds:clipxy2[bx],eax
mov edx,eax
add bx,4
cap33: mov eax,dword ptr ds:clip_x2
cmp eax,edx
je cap34
mov dword ptr ds:clipxy2[bx],eax
mov edx,eax
add bx,4
cap34: add di,4
loop cap32
;
mov cx,bx
shr cx,2
cmp dword ptr ds:clipxy2[0],edx
jne cap31
dec cx
cap31: mov ds:polysides,cx
cmp cx,2
jg cap39
cmp cx,0
je cap38
mov eax,dword ptr ds:clipxy2[0]
mov dword ptr ds:clip_x1,eax
mov eax,dword ptr ds:clipxy2[4]
mov dword ptr ds:clip_x2,eax
jmp cap2r ;reclip the remaining line
cap38: ret
cap39:
mov si,cx
shl si,2
sub si,4
mov di,0
mov eax,dword ptr ds:clipxy2[si]
mov dword ptr ds:clip_x1,eax
mov eax,dword ptr ds:clipxy2[di]
mov dword ptr ds:clip_x2,eax
call cliplinex
;
mov cx,ds:polysides
xor di,di
xor bx,bx
mov edx,80008000h
jmp cbp35
cbp32: push di
push bx
push cx
push edx
mov si,di
sub si,4
mov eax,dword ptr ds:clipxy2[si]
mov dword ptr ds:clip_x1,eax
mov eax,dword ptr ds:clipxy2[di]
mov dword ptr ds:clip_x2,eax
call cliplinex
pop edx
pop cx
pop bx
pop di
cbp35: cmp ax,0
jnz cbp34
mov eax,dword ptr ds:clip_x1
cmp eax,edx
je cbp33
mov dword ptr ds:polyxy[bx],eax
mov edx,eax
add bx,4
cbp33: mov eax,dword ptr ds:clip_x2
cmp eax,edx
je cbp34
mov dword ptr ds:polyxy[bx],eax
mov edx,eax
add bx,4
cbp34: add di,4
loop cbp32
;
mov cx,bx
shr cx,2
cmp dword ptr ds:polyxy[0],edx
jne cbp31
dec cx
cbp31: mov ds:polysides,cx
ret
clipanypoly ENDP
clipcheck MACRO reg,min,max,flagreg,flagmin,flagmax
local l1,l2
cmp reg,min
jge l1
or flagreg,flagmin
l1: cmp reg,max
jle l2
or flagreg,flagmax
l2: ENDM
clipmacro MACRO v1,v2,w1,w2,wl
local l1,l2
push bx
mov bx,wl
mov cx,w2
sub cx,w1
jcxz l1
mov bp,bx
sub bp,w1
mov ax,v2
sub ax,v1
imul bp
idiv cx
add ax,v1
mov v1,ax
mov word ptr w1,bx
jmp l2
l1: mov ax,v1
mov word ptr w1,bx
l2: pop bx
ENDM
cliplinex PROC NEAR
;input line polyxy[SI]=>polyxy[DI]
xor bx,bx
mov ax,ds:clip_x1
clipcheck ax,cs:WMINX,cs:WMAXX,bl,1,2
mov ax,ds:clip_x2
clipcheck ax,cs:WMINX,cs:WMAXX,bh,1,2
mov al,bl
and al,bh
jz clpx1
ret
clpx1:
test bl,1
jz clpx13
clipmacro ds:clip_y1,ds:clip_y2,ds:clip_x1,ds:clip_x2,cs:WMINX
clpx13: test bl,2
jz clpx14
clipmacro ds:clip_y1,ds:clip_y2,ds:clip_x1,ds:clip_x2,cs:WMAXX
clpx14:
test bh,1
jz clpx23
clipmacro ds:clip_y2,ds:clip_y1,ds:clip_x2,ds:clip_x1,cs:WMINX
clpx23: test bh,2
jz clpx24
clipmacro ds:clip_y2,ds:clip_y1,ds:clip_x2,ds:clip_x1,cs:WMAXX
clpx24:
xor ax,ax
ret
cliplinex ENDP
clipliney PROC NEAR
xor bx,bx
mov ax,ds:clip_y1
clipcheck ax,cs:WMINY,cs:WMAXY,bl,4,8
mov ax,ds:clip_y2
clipcheck ax,cs:WMINY,cs:WMAXY,bh,4,8
mov al,bl
and al,bh
jz clpy1
ret
clpy1:
test bl,4
jz clpy11
clipmacro ds:clip_x1,ds:clip_x2,ds:clip_y1,ds:clip_y2,cs:WMINY
clpy11: test bl,8
jz clpy12
clipmacro ds:clip_x1,ds:clip_x2,ds:clip_y1,ds:clip_y2,cs:WMAXY
clpy12:
test bh,4
jz clpy21
clipmacro ds:clip_x2,ds:clip_x1,ds:clip_y2,ds:clip_y1,cs:WMINY
clpy21: test bh,8
jz clpy22
clipmacro ds:clip_x2,ds:clip_x1,ds:clip_y2,ds:clip_y1,cs:WMAXY
clpy22:
xor ax,ax
ret
clipliney ENDP

72
TECHNO/READP.C Normal file
View file

@ -0,0 +1,72 @@
struct st_readp
{
int magic;
int wid;
int hig;
int cols;
int add;
};
void readp(char *dest,int row,char *src)
{
int bytes,a,b;
struct st_readp *hdr;
hdr=(struct st_readp *)src;
if(row==-1)
{
memcpy(dest,src+16,hdr->cols*3);
return;
}
if(row>=hdr->hig) return;
src+=hdr->add*16;
while(row)
{
src+=*(int *)src;
src+=2;
row--;
_asm
{
cmp word ptr src[0],4000h
jb k1
sub word ptr src[0],4000h
add word ptr src[2],400h
k1:
}
}
bytes=*(int *)src;
src+=2;
_asm
{
push si
push ds
push di
push es
mov cx,bytes
lds si,src
add cx,si
les di,dest
l1: mov al,ds:[si]
inc si
or al,al
jns l2
mov ah,al
and ah,7fh
mov al,ds:[si]
inc si
l4: mov es:[di],al
inc di
dec ah
jnz l4
cmp si,cx
jb l1
jmp l3
l2: mov es:[di],al
inc di
cmp si,cx
jb l1
l3: pop es
pop di
pop ds
pop si
}
}

27
TECHNO/ROT.ASM Normal file
View file

@ -0,0 +1,27 @@
code SEGMENT para public 'CODE'
ASSUME cs:code
start call rol
mov ax,4c00h
int 21h
waitb PROC NEAR
mov dx,3dah
@@1: in al,dx
test al,8
jnz @@1
@@2: in al,dx
test al,8
jnz @@2
ret
waitb ENDP
rol PROC NEAR
call waitb
ret
rol ENDP
code ENDS
END start

33
TECHNO/SIN1024.INC Normal file
View file

@ -0,0 +1,33 @@
_sin1024 LABEL WORD
dw 0,1,3,4,6,7,9,10,12,14,15,17,18,20,21,23,25,26,28,29,31,32,34,36,37,39,40,42,43,45,46,48
dw 49,51,53,54,56,57,59,60,62,63,65,66,68,69,71,72,74,75,77,78,80,81,83,84,86,87,89,90,92,93,95,96
dw 97,99,100,102,103,105,106,108,109,110,112,113,115,116,117,119,120,122,123,124,126,127,128,130,131,132,134,135,136,138,139,140
dw 142,143,144,146,147,148,149,151,152,153,155,156,157,158,159,161,162,163,164,166,167,168,169,170,171,173,174,175,176,177,178,179
dw 181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,211
dw 212,213,214,215,216,217,217,218,219,220,221,221,222,223,224,225,225,226,227,227,228,229,230,230,231,232,232,233,234,234,235,235
dw 236,237,237,238,238,239,239,240,241,241,242,242,243,243,244,244,244,245,245,246,246,247,247,247,248,248,249,249,249,250,250,250
dw 251,251,251,251,252,252,252,252,253,253,253,253,254,254,254,254,254,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255
dw 256,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,254,254,254,254,254,253,253,253,253,252,252,252,252,251,251,251
dw 251,250,250,250,249,249,249,248,248,247,247,247,246,246,245,245,244,244,244,243,243,242,242,241,241,240,239,239,238,238,237,237
dw 236,235,235,234,234,233,232,232,231,230,230,229,228,227,227,226,225,225,224,223,222,221,221,220,219,218,217,217,216,215,214,213
dw 212,211,211,210,209,208,207,206,205,204,203,202,201,200,199,198,197,196,195,194,193,192,191,190,189,188,187,186,185,184,183,182
dw 181,179,178,177,176,175,174,173,171,170,169,168,167,166,164,163,162,161,159,158,157,156,155,153,152,151,149,148,147,146,144,143
dw 142,140,139,138,136,135,134,132,131,130,128,127,126,124,123,122,120,119,117,116,115,113,112,110,109,108,106,105,103,102,100,99
dw 97,96,95,93,92,90,89,87,86,84,83,81,80,78,77,75,74,72,71,69,68,66,65,63,62,60,59,57,56,54,53,51
dw 49,48,46,45,43,42,40,39,37,36,34,32,31,29,28,26,25,23,21,20,18,17,15,14,12,10,9,7,6,4,3,1
dw 0,-1,-3,-4,-6,-7,-9,-10,-12,-14,-15,-17,-18,-20,-21,-23,-25,-26,-28,-29,-31,-32,-34,-36,-37,-39,-40,-42,-43,-45,-46,-48
dw -49,-51,-53,-54,-56,-57,-59,-60,-62,-63,-65,-66,-68,-69,-71,-72,-74,-75,-77,-78,-80,-81,-83,-84,-86,-87,-89,-90,-92,-93,-95,-96
dw -97,-99,-100,-102,-103,-105,-106,-108,-109,-110,-112,-113,-115,-116,-117,-119,-120,-122,-123,-124,-126,-127,-128,-130,-131,-132,-134,-135,-136,-138,-139,-140
dw -142,-143,-144,-146,-147,-148,-149,-151,-152,-153,-155,-156,-157,-158,-159,-161,-162,-163,-164,-166,-167,-168,-169,-170,-171,-173,-174,-175,-176,-177,-178,-179
dw -181,-182,-183,-184,-185,-186,-187,-188,-189,-190,-191,-192,-193,-194,-195,-196,-197,-198,-199,-200,-201,-202,-203,-204,-205,-206,-207,-208,-209,-210,-211,-211
dw -212,-213,-214,-215,-216,-217,-217,-218,-219,-220,-221,-221,-222,-223,-224,-225,-225,-226,-227,-227,-228,-229,-230,-230,-231,-232,-232,-233,-234,-234,-235,-235
dw -236,-237,-237,-238,-238,-239,-239,-240,-241,-241,-242,-242,-243,-243,-244,-244,-244,-245,-245,-246,-246,-247,-247,-247,-248,-248,-249,-249,-249,-250,-250,-250
dw -251,-251,-251,-251,-252,-252,-252,-252,-253,-253,-253,-253,-254,-254,-254,-254,-254,-254,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255
dw -256,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-254,-254,-254,-254,-254,-254,-253,-253,-253,-253,-252,-252,-252,-252,-251,-251,-251
dw -251,-250,-250,-250,-249,-249,-249,-248,-248,-247,-247,-247,-246,-246,-245,-245,-244,-244,-244,-243,-243,-242,-242,-241,-241,-240,-239,-239,-238,-238,-237,-237
dw -236,-235,-235,-234,-234,-233,-232,-232,-231,-230,-230,-229,-228,-227,-227,-226,-225,-225,-224,-223,-222,-221,-221,-220,-219,-218,-217,-217,-216,-215,-214,-213
dw -212,-211,-211,-210,-209,-208,-207,-206,-205,-204,-203,-202,-201,-200,-199,-198,-197,-196,-195,-194,-193,-192,-191,-190,-189,-188,-187,-186,-185,-184,-183,-182
dw -181,-179,-178,-177,-176,-175,-174,-173,-171,-170,-169,-168,-167,-166,-164,-163,-162,-161,-159,-158,-157,-156,-155,-153,-152,-151,-149,-148,-147,-146,-144,-143
dw -142,-140,-139,-138,-136,-135,-134,-132,-131,-130,-128,-127,-126,-124,-123,-122,-120,-119,-117,-116,-115,-113,-112,-110,-109,-108,-106,-105,-103,-102,-100,-99
dw -97,-96,-95,-93,-92,-90,-89,-87,-86,-84,-83,-81,-80,-78,-77,-75,-74,-72,-71,-69,-68,-66,-65,-63,-62,-60,-59,-57,-56,-54,-53,-51
dw -49,-48,-46,-45,-43,-42,-40,-39,-37,-36,-34,-32,-31,-29,-28,-26,-25,-23,-21,-20,-18,-17,-15,-14,-12,-10,-9,-7,-6,-4,-3,-1

36
TECHNO/TMP Normal file
View file

@ -0,0 +1,36 @@
pal1 LABEL WORD
db 0, 0*7/9, 0
db 10,10*7/9,10
db 20,20*7/9,20
db 30,30*7/9,30
db 40,40*7/9,40
db 50,50*7/9,50
db 60,60*7/9,60
db 30,30*7/9,30
db 0, 0*7/9, 0
db 10,10*7/9,10
db 20,20*7/9,20
db 30,30*7/9,30
db 40,40*7/9,40
db 50,50*7/9,50
db 60,60*7/9,60
db 30,30*7/9,30
pal2 LABEL WORD
db 30,30*8/9,30
db 60,60*8/9,60
db 50,50*8/9,50
db 40,40*8/9,40
db 30,30*8/9,30
db 20,20*8/9,20
db 10,10*8/9,10
db 0, 0*8/9, 0
db 30,30*8/9,30
db 60,60*8/9,60
db 50,50*8/9,50
db 40,40*8/9,40
db 30,30*8/9,30
db 20,20*8/9,20
db 10,10*8/9,10
db 0, 0*8/9, 0

BIN
TECHNO/TROLL.UP Normal file

Binary file not shown.

BIN
TECHNO/_CIRCLE.OBK Normal file

Binary file not shown.

BIN
TECHNO/_CIRCLE2.OBK Normal file

Binary file not shown.

BIN
TECHNO/_PIC1.OBK Normal file

Binary file not shown.

BIN
TECHNO/_PIC2.OBK Normal file

Binary file not shown.