Upload
This commit is contained in:
commit
43352ff262
1291 changed files with 220976 additions and 0 deletions
2
TECHNO/DOPIC.BAT
Normal file
2
TECHNO/DOPIC.BAT
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
lbm2p panicpic.lbm troll.up
|
||||
copy troll.up ..\main\data
|
||||
BIN
TECHNO/DP_PREFS
Normal file
BIN
TECHNO/DP_PREFS
Normal file
Binary file not shown.
728
TECHNO/KOE.C
Normal file
728
TECHNO/KOE.C
Normal 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
BIN
TECHNO/KOE.EXE
Normal file
Binary file not shown.
49
TECHNO/KOE.MAP
Normal file
49
TECHNO/KOE.MAP
Normal 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
BIN
TECHNO/KOE.OBJ
Normal file
Binary file not shown.
1066
TECHNO/KOEA.ASM
Normal file
1066
TECHNO/KOEA.ASM
Normal file
File diff suppressed because it is too large
Load diff
BIN
TECHNO/KOEA.OBJ
Normal file
BIN
TECHNO/KOEA.OBJ
Normal file
Binary file not shown.
632
TECHNO/KOEB.ASM
Normal file
632
TECHNO/KOEB.ASM
Normal 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
BIN
TECHNO/KOEB.OBJ
Normal file
Binary file not shown.
101
TECHNO/LINECLIP.OLD
Normal file
101
TECHNO/LINECLIP.OLD
Normal 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
26
TECHNO/MAKEFILE
Normal 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
BIN
TECHNO/PANICPIC.LBM
Normal file
Binary file not shown.
273
TECHNO/POLYCLIP.ASM
Normal file
273
TECHNO/POLYCLIP.ASM
Normal 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
72
TECHNO/READP.C
Normal 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
27
TECHNO/ROT.ASM
Normal 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
33
TECHNO/SIN1024.INC
Normal 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
36
TECHNO/TMP
Normal 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
BIN
TECHNO/TROLL.UP
Normal file
Binary file not shown.
BIN
TECHNO/_CIRCLE.OBK
Normal file
BIN
TECHNO/_CIRCLE.OBK
Normal file
Binary file not shown.
BIN
TECHNO/_CIRCLE2.OBK
Normal file
BIN
TECHNO/_CIRCLE2.OBK
Normal file
Binary file not shown.
BIN
TECHNO/_PIC1.OBK
Normal file
BIN
TECHNO/_PIC1.OBK
Normal file
Binary file not shown.
BIN
TECHNO/_PIC2.OBK
Normal file
BIN
TECHNO/_PIC2.OBK
Normal file
Binary file not shown.
Loading…
Reference in a new issue