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

BIN
CREDITS/CRED.DSK Normal file

Binary file not shown.

BIN
CREDITS/CRED.PRJ Normal file

Binary file not shown.

3751
CREDITS/FONA.INC Normal file

File diff suppressed because it is too large Load diff

BIN
CREDITS/INCBIN.EXE Normal file

Binary file not shown.

56
CREDITS/INCLUD2.ASM Normal file
View file

@ -0,0 +1,56 @@
IDEAL
SEGMENT kakka11 para use16 private 'FAR_DATA'
PUBLIC C pic11
LABEL pic11 BYTE
INCLUDE "pic11.inc"
ENDS
SEGMENT kakka12 para use16 private 'FAR_DATA'
PUBLIC C pic12
LABEL pic12 BYTE
INCLUDE "pic12.inc"
ENDS
SEGMENT kakka13 para use16 private 'FAR_DATA'
PUBLIC C pic13
LABEL pic13 BYTE
INCLUDE "pic13.inc"
ENDS
SEGMENT kakka14 para use16 private 'FAR_DATA'
PUBLIC C pic14
LABEL pic14 BYTE
INCLUDE "pic14.inc"
ENDS
SEGMENT kakka14b para use16 private 'FAR_DATA'
PUBLIC C pic14b
LABEL pic14b BYTE
INCLUDE "pic14b.inc"
ENDS
SEGMENT kakka15 para use16 private 'FAR_DATA'
PUBLIC C pic15
LABEL pic15 BYTE
INCLUDE "pic15.inc"
ENDS
SEGMENT kakka16 para use16 private 'FAR_DATA'
PUBLIC C pic16
LABEL pic16 BYTE
INCLUDE "pic16.inc"
ENDS
SEGMENT kakka17 para use16 private 'FAR_DATA'
PUBLIC C pic17
LABEL pic17 BYTE
INCLUDE "pic17.inc"
ENDS
SEGMENT kakka18 para use16 private 'FAR_DATA'
PUBLIC C pic18
LABEL pic18 BYTE
INCLUDE "pic18.inc"
ENDS
END

BIN
CREDITS/INCLUD2.OBJ Normal file

Binary file not shown.

81
CREDITS/INCLUDE.ASM Normal file
View file

@ -0,0 +1,81 @@
IDEAL
SEGMENT kakka1 para use16 private 'FAR_DATA'
PUBLIC C pic1
LABEL pic1 BYTE
INCLUDE "pic01.inc"
ENDS
SEGMENT kakka2 para use16 private 'FAR_DATA'
PUBLIC C pic2
LABEL pic2 BYTE
INCLUDE "pic02.inc"
ENDS
SEGMENT kakka3 para use16 private 'FAR_DATA'
PUBLIC C pic3
LABEL pic3 BYTE
INCLUDE "pic03.inc"
ENDS
SEGMENT kakka4 para use16 private 'FAR_DATA'
PUBLIC C pic4
LABEL pic4 BYTE
INCLUDE "pic04.inc"
ENDS
SEGMENT kakka5 para use16 private 'FAR_DATA'
PUBLIC C pic5
LABEL pic5 BYTE
INCLUDE "pic05.inc"
ENDS
SEGMENT kakka5b para use16 private 'FAR_DATA'
PUBLIC C pic5b
LABEL pic5b BYTE
INCLUDE "pic05b.inc"
ENDS
SEGMENT kakka6 para use16 private 'FAR_DATA'
PUBLIC C pic6
LABEL pic6 BYTE
INCLUDE "pic06.inc"
ENDS
SEGMENT kakka7 para use16 private 'FAR_DATA'
PUBLIC C pic7
LABEL pic7 BYTE
INCLUDE "pic07.inc"
ENDS
SEGMENT kakka8 para use16 private 'FAR_DATA'
PUBLIC C pic8
LABEL pic8 BYTE
INCLUDE "pic08.inc"
ENDS
SEGMENT kakka9 para use16 private 'FAR_DATA'
PUBLIC C pic9
LABEL pic9 BYTE
INCLUDE "pic09.inc"
ENDS
SEGMENT kakka10 para use16 private 'FAR_DATA'
PUBLIC C pic10
LABEL pic10 BYTE
INCLUDE "pic10.inc"
ENDS
SEGMENT kakka10b para use16 private 'FAR_DATA'
PUBLIC C pic10b
LABEL pic10b BYTE
INCLUDE "pic10b.inc"
ENDS
SEGMENT asdf byte use16 private 'FAR_DATA'
PUBLIC C font
LABEL font WORD
INCLUDE 'fona.inc'
ENDS
END

BIN
CREDITS/INCLUDE.OBJ Normal file

Binary file not shown.

BIN
CREDITS/LBM2U.EXE Normal file

Binary file not shown.

318
CREDITS/MAIN.C Normal file
View file

@ -0,0 +1,318 @@
#include <conio.h>
#include <mem.h>
#include "h:\u2\dis\dis.h"
char *prtc(int x,int y,char *txt);
extern char pic1[];
extern char pic2[];
extern char pic3[];
extern char pic4[];
extern char pic5[];
extern char pic5b[];
extern char pic6[];
extern char pic7[];
extern char pic8[];
extern char pic9[];
extern char pic10[];
extern char pic10b[];
extern char pic11[];
extern char pic12[];
extern char pic13[];
extern char pic14[];
extern char pic14b[];
extern char pic15[];
extern char pic16[];
extern char pic17[];
extern char pic18[];
#define FONAY 32
extern char far font[FONAY][1500];
char *fonaorder="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/?!:,.\"()+-";
int fonap[256];
int fonaw[256];
main() {
dis_partstart();
init();
tw_opengraph();
tw_setstart(160*200);
if(!dis_exit()) screenin(pic1,
"GRAPHICS - MARVEL\0"
"MUSIC - SKAVEN\0"
"CODE - WILDFIRE\0"
);
if(!dis_exit()) screenin(pic2,
"GRAPHICS - MARVEL\0"
"MUSIC - SKAVEN\0"
"CODE - PSI\0"
);
if(!dis_exit()) screenin(pic3,
"GRAPHICS - MARVEL\0"
"MUSIC - SKAVEN\0"
"CODE - WILDFIRE\0"
"ANIMATION - TRUG\0"
);
if(!dis_exit()) screenin(pic4,
"\0GRAPHICS - PIXEL\0"
);
if(!dis_exit()) screenin(pic5,
"GRAPHICS - PIXEL\0"
"MUSIC - PURPLE MOTION\0"
"CODE - PSI\0"
);
if(!dis_exit()) screenin(pic5b,
"\0MUSIC - PURPLE MOTION\0"
"CODE - TRUG\0"
);
if(!dis_exit()) screenin(pic6,
"\0MUSIC - PURPLE MOTION\0"
"CODE - PSI\0"
);
if(!dis_exit()) screenin(pic7,
"\0MUSIC - PURPLE MOTION\0"
"CODE - PSI\0"
);
if(!dis_exit()) screenin(pic8,
"\0GRAPHICS - PIXEL\0"
"MUSIC - PURPLE MOTION\0"
);
if(!dis_exit()) screenin(pic9,
"GRAPHICS - PIXEL\0"
"MUSIC - PURPLE MOTION\0"
"CODE - TRUG\0"
"RENDERING - TRUG\0"
);
if(!dis_exit()) screenin(pic10,
"GRAPHICS - PIXEL, SKAVEN\0"
"MUSIC - PURPLE MOTION\0"
"CODE - PSI\0"
);
if(!dis_exit()) screenin(pic10b,
"GRAPHICS - PIXEL, SKAVEN\0"
"MUSIC - PURPLE MOTION\0"
"CODE - PSI\0"
);
if(!dis_exit()) screenin(pic11,
"\0MUSIC - PURPLE MOTION\0"
"CODE - WILDFIRE\0"
);
if(!dis_exit()) screenin(pic12,
"\0MUSIC - PURPLE MOTION\0"
"CODE - WILDFIRE\0"
);
if(!dis_exit()) screenin(pic13,
"\0MUSIC - PURPLE MOTION\0"
"CODE - PSI\0"
);
if(!dis_exit()) screenin(pic14,
"GRAPHICS - PIXEL\0"
"MUSIC - PURPLE MOTION\0"
"CODE - TRUG\0"
"RENDERING - TRUG\0"
);
if(!dis_exit()) screenin(pic14b,
"\0MUSIC - PURPLE MOTION\0"
"CODE - PSI\0"
);
if(!dis_exit()) screenin(pic15,
"GRAPHICS - MARVEL\0"
"MUSIC - PURPLE MOTION\0"
"CODE - PSI\0"
);
if(!dis_exit()) screenin(pic16,
"\0MUSIC - SKAVEN\0"
"CODE - PSI\0"
);
if(!dis_exit()) screenin(pic17,
"\0GRAPHICS - PIXEL\0"
"MUSIC - PURPLE MOTION\0"
);
if(!dis_exit()) screenin(pic18,
"GRAPHICS - PIXEL\0"
"MUSIC - PURPLE MOTION\0"
"CODE - WILDFIRE\0"
);
//tw_closegraph();
}
screenin(char (* pic)[160], char *text)
{
int a,x,y,yy,v;
tw_setsplit(400);
tw_clrscr();
tw_setstart(160*200);
dis_waitb();
tw_setpalette(&pic[0][16]);
pic=&pic[0][784];
y=16;while(*(text=prtc(160,y,text))) y+=FONAY+10;
for(x=0;x<160;x++) for(y=0;y<100;y++) tw_putpixel(400+x,400+y*2,pic[y][x]+16);
for(y=200*128;y>0;y=y*12L/13)
{
dis_waitb();
tw_setsplit(y/128+200);
yy=320-y/80;
for(a=0;a<10000;a++);
tw_setstart(160*200+(yy/4));
asm {
mov dx, 0x3c0
mov al, 0x33
out dx, al
mov ax, yy
and ax, 3
shl ax, 1
out dx, al
}
}
for(a=0;a<200 && !dis_exit();a++) dis_waitb();
for(y=0,v=0;y<128*200;y=y+v,v+=15)
{
dis_waitb();
tw_setsplit(y/128+200);
yy=320+y/80;
for(a=0;a<10000;a++);
tw_setstart(160*200+(yy/4));
asm {
mov dx, 0x3c0
mov al, 0x33
out dx, al
mov ax, yy
and ax, 3
shl ax, 1
out dx, al
}
}
}
prt(int x,int y,char *txt)
{
int x2w,x2,y2,y2w=y+FONAY,sx,d;
while(*txt)
{
x2w=fonaw[*txt]+x;
sx=fonap[*txt];
for(x2=x;x2<x2w;x2++)
{
for(y2=y;y2<y2w;y2++)
{
d=font[y2-y][sx];
tw_putpixel(x2,y2,d);
}
sx++;
}
x=x2+2;
txt++;
}
}
char *prtc(int x,int y,char *txt)
{
int w=0;
char *t=txt;
while(*t) w+=fonaw[*t++]+2;
prt(x-w/2,y,txt);
return(t+1);
}
init()
{
int x,y,a,b;
for(x=0;x<1500 && *fonaorder;)
{
while(x<1500)
{
for(y=0;y<FONAY;y++) if(font[y][x]) break;
if(y!=FONAY) break;
x++;
}
b=x;
while(x<1500)
{
for(y=0;y<FONAY;y++) if(font[y][x]) break;
if(y==FONAY) break;
x++;
}
//printf("%c: %i %i\n",*fonaorder,b,x-b);
fonap[*fonaorder]=b;
fonaw[*fonaorder]=x-b;
fonaorder++;
}
fonap[32]=1500-32;
fonaw[32]=8;
memmove(&pic1[16*3+16],&pic1[16],768-16*3);
memmove(&pic2[16*3+16],&pic2[16],768-16*3);
memmove(&pic3[16*3+16],&pic3[16],768-16*3);
memmove(&pic4[16*3+16],&pic4[16],768-16*3);
memmove(&pic5[16*3+16],&pic5[16],768-16*3);
memmove(&pic5b[16*3+16],&pic5b[16],768-16*3);
memmove(&pic6[16*3+16],&pic6[16],768-16*3);
memmove(&pic7[16*3+16],&pic7[16],768-16*3);
memmove(&pic8[16*3+16],&pic8[16],768-16*3);
memmove(&pic9[16*3+16],&pic9[16],768-16*3);
memmove(&pic10[16*3+16],&pic10[16],768-16*3);
memmove(&pic10b[16*3+16],&pic10b[16],768-16*3);
memmove(&pic11[16*3+16],&pic11[16],768-16*3);
memmove(&pic12[16*3+16],&pic12[16],768-16*3);
memmove(&pic13[16*3+16],&pic13[16],768-16*3);
memmove(&pic14[16*3+16],&pic14[16],768-16*3);
memmove(&pic14b[16*3+16],&pic14b[16],768-16*3);
memmove(&pic15[16*3+16],&pic15[16],768-16*3);
memmove(&pic16[16*3+16],&pic16[16],768-16*3);
memmove(&pic17[16*3+16],&pic17[16],768-16*3);
memmove(&pic18[16*3+16],&pic18[16],768-16*3);
for(a=0;a<10;a++)
{
pic1[a*3+0+16]=pic1[a*3+1+16]=pic1[a*3+2+16]=7*a;
pic2[a*3+0+16]=pic2[a*3+1+16]=pic2[a*3+2+16]=7*a;
pic3[a*3+0+16]=pic3[a*3+1+16]=pic3[a*3+2+16]=7*a;
pic4[a*3+0+16]=pic4[a*3+1+16]=pic4[a*3+2+16]=7*a;
pic5[a*3+0+16]=pic5[a*3+1+16]=pic5[a*3+2+16]=7*a;
pic5b[a*3+0+16]=pic5b[a*3+1+16]=pic5b[a*3+2+16]=7*a;
pic6[a*3+0+16]=pic6[a*3+1+16]=pic6[a*3+2+16]=7*a;
pic7[a*3+0+16]=pic7[a*3+1+16]=pic7[a*3+2+16]=7*a;
pic8[a*3+0+16]=pic8[a*3+1+16]=pic8[a*3+2+16]=7*a;
pic9[a*3+0+16]=pic9[a*3+1+16]=pic9[a*3+2+16]=7*a;
pic10[a*3+0+16]=pic10[a*3+1+16]=pic10[a*3+2+16]=7*a;
pic10b[a*3+0+16]=pic10b[a*3+1+16]=pic10b[a*3+2+16]=7*a;
pic11[a*3+0+16]=pic11[a*3+1+16]=pic11[a*3+2+16]=7*a;
pic12[a*3+0+16]=pic12[a*3+1+16]=pic12[a*3+2+16]=7*a;
pic13[a*3+0+16]=pic13[a*3+1+16]=pic13[a*3+2+16]=7*a;
pic14[a*3+0+16]=pic14[a*3+1+16]=pic14[a*3+2+16]=7*a;
pic14b[a*3+0+16]=pic14b[a*3+1+16]=pic14b[a*3+2+16]=7*a;
pic15[a*3+0+16]=pic15[a*3+1+16]=pic15[a*3+2+16]=7*a;
pic16[a*3+0+16]=pic16[a*3+1+16]=pic16[a*3+2+16]=7*a;
pic17[a*3+0+16]=pic17[a*3+1+16]=pic17[a*3+2+16]=7*a;
pic18[a*3+0+16]=pic18[a*3+1+16]=pic18[a*3+2+16]=7*a;
}
}

BIN
CREDITS/MAIN.OBJ Normal file

Binary file not shown.

21
CREDITS/PICS/ASDF.BAT Normal file
View file

@ -0,0 +1,21 @@
al -i -o -Xc160 -Yc100 -c240 -d c01.lbm pic01.lbm
al -i -o -Xc160 -Yc100 -c240 -d c02.lbm pic02.lbm
al -i -o -Xc160 -Yc100 -c240 -d c03.lbm pic03.lbm
al -i -o -Xc160 -Yc100 -c240 -d c04.lbm pic04.lbm
al -i -o -Xc160 -Yc100 -c240 -d c05.lbm pic05.lbm
al -i -o -Xc160 -Yc100 -c240 -d c05b.lbm pic05b.lbm
al -i -o -Xc160 -Yc100 -c240 -d c06.lbm pic06.lbm
al -i -o -Xc160 -Yc100 -c240 -d c07.lbm pic07.lbm
al -i -o -Xc160 -Yc100 -c240 -d c08.lbm pic08.lbm
al -i -o -Xc160 -Yc100 -c240 -d c09.lbm pic09.lbm
al -i -o -Xc160 -Yc100 -c240 -d c10.lbm pic10.lbm
al -i -o -Xc160 -Yc100 -c240 -d c10b.lbm pic10b.lbm
al -i -o -Xc160 -Yc100 -c240 -d c11.lbm pic11.lbm
al -i -o -Xc160 -Yc100 -c240 -d c12.lbm pic12.lbm
al -i -o -Xc160 -Yc100 -c240 -d c13.lbm pic13.lbm
al -i -o -Xc160 -Yc100 -c240 -d c14.lbm pic14.lbm
al -i -o -Xc160 -Yc100 -c240 -d c14b.lbm pic14b.lbm
al -i -o -Xc160 -Yc100 -c240 -d c15.lbm pic15.lbm
al -i -o -Xc160 -Yc100 -c240 -d c16.lbm pic16.lbm
al -i -o -Xc160 -Yc100 -c240 -d c17.lbm pic17.lbm
al -i -o -Xc160 -Yc100 -c240 -d c18.lbm pic18.lbm

BIN
CREDITS/PICS/DP_PREFS Normal file

Binary file not shown.

1
CREDITS/PICS/FDSA.BAT Normal file
View file

@ -0,0 +1 @@
al -i -o -Xc160 -Yc100 -c240 c10b.lbm pic10b.lbm

BIN
CREDITS/PICS/PIC01.LBM Normal file

Binary file not shown.

BIN
CREDITS/PICS/PIC02.LBM Normal file

Binary file not shown.

BIN
CREDITS/PICS/PIC03.LBM Normal file

Binary file not shown.

BIN
CREDITS/PICS/PIC04.LBM Normal file

Binary file not shown.

BIN
CREDITS/PICS/PIC05.LBM Normal file

Binary file not shown.

BIN
CREDITS/PICS/PIC05B.LBM Normal file

Binary file not shown.

BIN
CREDITS/PICS/PIC06.LBM Normal file

Binary file not shown.

BIN
CREDITS/PICS/PIC07.LBM Normal file

Binary file not shown.

BIN
CREDITS/PICS/PIC08.LBM Normal file

Binary file not shown.

BIN
CREDITS/PICS/PIC09.LBM Normal file

Binary file not shown.

BIN
CREDITS/PICS/PIC10.LBM Normal file

Binary file not shown.

BIN
CREDITS/PICS/PIC10B.LBM Normal file

Binary file not shown.

BIN
CREDITS/PICS/PIC11.LBM Normal file

Binary file not shown.

BIN
CREDITS/PICS/PIC12.LBM Normal file

Binary file not shown.

BIN
CREDITS/PICS/PIC13.LBM Normal file

Binary file not shown.

BIN
CREDITS/PICS/PIC14.LBM Normal file

Binary file not shown.

BIN
CREDITS/PICS/PIC14B.LBM Normal file

Binary file not shown.

BIN
CREDITS/PICS/PIC15.LBM Normal file

Binary file not shown.

BIN
CREDITS/PICS/PIC16.LBM Normal file

Binary file not shown.

BIN
CREDITS/PICS/PIC17.LBM Normal file

Binary file not shown.

BIN
CREDITS/PICS/PIC18.LBM Normal file

Binary file not shown.

21
CREDITS/PICS/SFD.BAT Normal file
View file

@ -0,0 +1,21 @@
..\lbm2u.exe pic01.lbm pic01.uh
..\lbm2u.exe pic02.lbm pic02.uh
..\lbm2u.exe pic03.lbm pic03.uh
..\lbm2u.exe pic04.lbm pic04.uh
..\lbm2u.exe pic05.lbm pic05.uh
..\lbm2u.exe pic05b.lbm pic05b.uh
..\lbm2u.exe pic06.lbm pic06.uh
..\lbm2u.exe pic07.lbm pic07.uh
..\lbm2u.exe pic08.lbm pic08.uh
..\lbm2u.exe pic09.lbm pic09.uh
..\lbm2u.exe pic10.lbm pic10.uh
..\lbm2u.exe pic10b.lbm pic10b.uh
..\lbm2u.exe pic11.lbm pic11.uh
..\lbm2u.exe pic12.lbm pic12.uh
..\lbm2u.exe pic13.lbm pic13.uh
..\lbm2u.exe pic14.lbm pic14.uh
..\lbm2u.exe pic14b.lbm pic14b.uh
..\lbm2u.exe pic15.lbm pic15.uh
..\lbm2u.exe pic16.lbm pic16.uh
..\lbm2u.exe pic17.lbm pic17.uh
..\lbm2u.exe pic18.lbm pic18.uh

1051
CREDITS/TEST.INC Normal file

File diff suppressed because it is too large Load diff

BIN
CREDITS/TEST.LBM Normal file

Binary file not shown.

357
CREDITS/TWEAK.ASM Normal file
View file

@ -0,0 +1,357 @@
IDEAL
MODEL large
P386
CODESEG
PUBLIC C tw_opengraph, C tw_putpixel, C tw_setpalette, C tw_setstart
PUBLIC C tw_pictovmem, C tw_closegraph, C tw_waitvr, C tw_setrgbpalette
PUBLIC C tw_clrscr, C tw_setpalarea, C tw_getpixel, C tw_setsplit
PUBLIC C scr_seg ; videomuistin alku segmentti
planetau db 1,2,4,8
scr_seg dw 0a000h
; avaa 320x200 tweak tilan, 4 sivua, 4 planea
PROC tw_opengraph
mov ax,13h
int 10h
mov dx, 03c4h
mov ax, 0604h
out dx, ax ; chain4 off
mov ax, 0f02h
out dx, ax
mov dx, 0a000h
mov es, dx
xor di, di
xor ax, ax
mov cx, 8000h
rep stosw ; clear vmem
mov dx, 03d4h
mov ax, 0014h
out dx, ax ; crtc long off
mov ax, 0e317h
out dx, ax ; crtc byte on
mov ax, 5013h
out dx, ax ; 640 wide
mov ax,0109h
out dx, ax
mov ax, 06418h ; linecompare
out dx, ax
mov ax, 0f07h
out dx, ax ; 8th bit
mov dx, 3c0h
mov al, 30h
out dx, al
mov al, 61h
out dx, al
ret
ENDP
PROC tw_clrscr
mov dx, 3c4h
mov ax, 0f02h
out dx, ax
mov dx, [cs:scr_seg]
mov es, dx
xor di, di
xor eax, eax
mov cx, 1000h
rep stosd ; clear vmem
ret
ENDP
PROC tw_closegraph
mov ax, 03h
int 10h
ret
ENDP
; piirt„„ pisteen ruudulle
PROC tw_putpixel
ARG x:word, y:word, color:word
push bp
mov bp, sp
mov ax, [cs:scr_seg]
mov es, ax
mov dx, 03c4h
mov bx, [x]
and bx, 03h
mov ah, [cs:planetau+bx]
mov al, 02h
out dx, ax ; select plane
mov bx, [x]
shr bx, 2
mov ax, [y]
shl ax, 4
add bx, ax
shl ax, 2
add bx, ax
mov cx, [color]
mov [es:bx], cl
pop bp
ret
ENDP
PROC tw_getpixel
ARG x:word, y:word
push bp
mov bp, sp
mov ax, [scr_seg]
mov es, ax
mov dx, 03ceh
mov ax, [x]
and ax, 03h
mov ah, al
mov al, 04h
out dx, ax ; select plane
mov ax, [y]
shl ax, 4
mov bx, ax
shl ax, 1
add bx, ax
shl ax, 2
add bx, ax
mov ax, [x]
shr ax, 2
add bx, ax
xor ax, ax
mov al,[es:bx]
pop bp
ret
ENDP
; vaihtaa koko paletin
PROC tw_setpalette
ARG pal:dword
push bp
mov bp, sp
push si ds
lds si,[pal]
cld
mov cx, 300h
mov dx, 03c8h
mov al, 0
out dx, al
inc dx
rep outsb
pop ds si
pop bp
ret
ENDP
PROC C tw_setpalarea
ARG pal:dword, start:word, cnt:word
push si ds
lds si,[pal]
cld
mov cx, [cnt]
mov ax, cx
add cx, ax
add cx, ax
mov dx, 03c8h
mov ax, [start]
out dx, al
inc dx
rep outsb
pop ds si
ret
ENDP
; asettaa videomuistin alun
PROC tw_setstart
ARG start:word
push bp
mov bp,sp
mov bx, [start]
mov dx, 03d4h
mov al, 0dh
mov ah, bl
out dx, ax
mov al, 0ch
mov ah, bh
out dx, ax
pop bp
ret
ENDP
; kopioi muistista unpacked 1bpl kuvan 4planen kuvaksi videomuistiin
; void tw_pictovmem(char far *pic, unsigned int vstart, unsigned int bytes);
PROC tw_pictovmem
ARG pic:dword,to:word,len:word
push bp
mov bp,sp
push ds es si di
mov es, [scr_seg]
mov di, [to]
lds si, [pic]
mov cx, [len]
mov dx,03ceh
mov ax,4005h ; w-mode 0
out dx,ax
mov dx, 03c4h
mov al, 02h
mov ah, 1h
out dx, ax
shr cx, 2
@@l1:
movsb
add si, 3
loop @@l1
lds si, [pic]
add si, 1d
mov di, [to]
mov cx, [len]
mov ax, 0202h
out dx, ax
shr cx, 2
@@l2:
movsb
add si, 3
loop @@l2
lds si, [pic]
add si, 2d
mov di, [to]
mov cx, [len]
mov ax, 0402h
out dx, ax
shr cx, 2
@@l3:
movsb
add si, 3
loop @@l3
lds si, [pic]
add si, 3d
mov di, [to]
mov cx, [len]
mov ax, 0802h
out dx, ax
shr cx, 2
@@l4:
movsb
add si, 3
loop @@l4
pop di si es ds
pop bp
ret
ENDP
PROC tw_waitvr
mov dx, 03dah
@@loop1:
in al, dx
test al, 08h
jnz @@loop1
@@loop2:
in al, dx
test al, 08h
jz @@loop2
ret
ENDP
PROC C tw_setrgbpalette
ARG pal:word, r:word, g:word, b:word
mov dx, 3c8h
mov ax, [pal]
out dx, al
inc dx
mov ax, [r]
out dx, al
mov ax, [g]
out dx, al
mov ax, [b]
out dx, al
ret
ENDP
PROC C tw_setsplit
ARG start:word
mov dx, 3d4h
mov al, 18h ; linecompare
mov ah, [Byte start]
out dx, ax
mov al, 07h
mov ah, [Byte start+1]
shl ah, 4d
and ah, 10h
or ah, 0fh
out dx, ax ; 8th bit
ret
ENDP
END

12
CREDITS/TWEAK.H Normal file
View file

@ -0,0 +1,12 @@
extern void tw_opengraph();
extern void tw_closegraph();
extern void tw_putpixel(int x, int y, int color);
extern int tw_getpixel(int x, int y);
extern void tw_setpalette(void far *pal);
extern void tw_setpalarea(void far *pal,int start,int cnt);
extern void tw_setrgbpalette(int pal, int r, int g, int b);
extern void tw_setstart(int start);
extern void tw_pictovmem(void far *pic, int to, int len);
extern void tw_crlscr();
extern int far scr_seg;

BIN
CREDITS/TWEAK.OBJ Normal file

Binary file not shown.

22
CREDITS/UNPACK.BAT Normal file
View file

@ -0,0 +1,22 @@
INCBIN.EXE PICS\PIC01.UH pic01.inc
iNCBIN.EXE PICS\PIC02.UH pic02.inc
INCBIN.EXE PICS\PIC03.UH pic03.inc
INCBIN.EXE PICS\PIC04.UH pic04.inc
INCBIN.EXE PICS\PIC05.UH pic05.inc
INCBIN.EXE PICS\PIC05b.UH pic05b.inc
INCBIN.EXE PICS\PIC06.UH pic06.inc
INCBIN.EXE PICS\PIC07.UH pic07.inc
INCBIN.EXE PICS\PIC08.UH pic08.inc
INCBIN.EXE PICS\PIC09.UH pic09.inc
INCBIN.EXE PICS\PIC10.UH pic10.inc
INCBIN.EXE PICS\PIC10b.UH pic10b.inc
INCBIN.EXE PICS\PIC11.UH pic11.inc
INCBIN.EXE PICS\PIC12.UH pic12.inc
INCBIN.EXE PICS\PIC13.UH pic13.inc
INCBIN.EXE PICS\PIC14.UH pic14.inc
INCBIN.EXE PICS\PIC14b.UH pic14b.inc
INCBIN.EXE PICS\PIC15.UH pic15.inc
INCBIN.EXE PICS\PIC16.UH pic16.inc
INCBIN.EXE PICS\PIC17.UH pic17.inc
INCBIN.EXE PICS\PIC18.UH pic18.inc
INCBIN.EXE PICS\PIC19.UH pic19.inc

3
CREDITS/X.BAT Normal file
View file

@ -0,0 +1,3 @@
:buu
cred.exe
goto buu