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

110
ENDPIC/ASM.ASM Normal file
View file

@ -0,0 +1,110 @@
code SEGMENT para public 'CODE'
ASSUME cs:code
.386
LOCALS
PUBLIC _inittwk
_inittwk PROC FAR
push bp
mov bp,sp
push si
push di
push ds
;clear palette
mov dx,3c8h
xor al,al
out dx,al
inc dx
mov cx,768
@@1: out dx,al
loop @@1
;400 rows
mov dx,3d4h
mov ax,00009h
out dx,ax
;tweak
mov dx,3d4h
mov ax,00014h
out dx,ax
mov ax,0e317h
out dx,ax
mov dx,3c4h
mov ax,0604h
out dx,ax
;
mov dx,3c4h
mov ax,0f02h
out dx,ax
mov ax,0a000h
mov es,ax
xor di,di
mov cx,32768
xor ax,ax
rep stosw
;
pop ds
pop di
pop si
pop bp
ret
_inittwk ENDP
PUBLIC _lineblit
_lineblit PROC FAR
push bp
mov bp,sp
push si
push di
push ds
mov di,[bp+6]
mov es,[bp+8]
mov si,[bp+10]
mov ds,[bp+12]
zpl=0
REPT 4
mov dx,3c4h
mov ax,02h+(100h shl zpl)
out dx,ax
zzz=0
REPT 80/2
mov al,ds:[si+(zzz+0)*4+zpl]
mov ah,ds:[si+(zzz+1)*4+zpl]
mov es:[di+zzz],ax
zzz=zzz+2
ENDM
zpl=zpl+1
ENDM
pop ds
pop di
pop si
pop bp
ret
_lineblit ENDP
PUBLIC _setpalarea
_setpalarea PROC FAR
push bp
mov bp,sp
push si
push di
push ds
mov si,[bp+6]
mov ds,[bp+8]
mov ax,[bp+10]
mov dx,3c8h
out dx,al
inc dx
mov cx,[bp+12]
shl cx,1
add cx,ax
rep outsb
pop ds
pop di
pop si
pop bp
ret
_setpalarea ENDP
code ENDS
END

BIN
ENDPIC/ASM.OBJ Normal file

Binary file not shown.

50
ENDPIC/BEG.C Normal file
View file

@ -0,0 +1,50 @@
#include <stdio.h>
#include "..\dis\dis.h"
#include "readp.c"
extern char pic[];
char *vram=(char *)0xa0000000L;
char pal2[768];
char palette[768];
char rowbuf[640];
main()
{
int a,b,c,y;
dis_partstart();
_asm mov ax,13h
_asm int 10h
inittwk();
_asm
{
mov dx,3c0h
mov al,11h
out dx,al
mov al,255
out dx,al
mov al,20h
out dx,al
}
readp(palette,-1,pic);
for(y=0;y<400;y++)
{
readp(rowbuf,y,pic);
lineblit(vram+(unsigned)y*80U,rowbuf);
}
for(c=0;c<=128;c++)
{
for(a=0;a<768-3;a++) pal2[a]=((128-c)*63+palette[a]*c)/128;
dis_waitb();
setpalarea(pal2,0,255);
}
for(a=0;a<300 && !dis_exit();a++)
{
dis_waitb();
if(dis_muscode(0xf0)==0xf0) break;
}
}

BIN
ENDPIC/BEG.EXE Normal file

Binary file not shown.

BIN
ENDPIC/BEG.OBJ Normal file

Binary file not shown.

BIN
ENDPIC/DP_PREFS Normal file

Binary file not shown.

24
ENDPIC/MAKEFILE Normal file
View file

@ -0,0 +1,24 @@
all : beg.exe
# objects
objs=beg.obj asm.obj
# 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) $<
beg.exe : $(objs)
link /E $(objs)+_pic.obk+..\dis\disc.obj,beg.exe,nul;
copy beg.exe ..\main\data\beglogo.exe

BIN
ENDPIC/PIC.LBM Normal file

Binary file not shown.

BIN
ENDPIC/PIC.UH Normal file

Binary file not shown.

64
ENDPIC/READP.C Normal file
View file

@ -0,0 +1,64 @@
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--;
}
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
}
}

BIN
ENDPIC/SRTITLE.LBM Normal file

Binary file not shown.

BIN
ENDPIC/SRTITLE.U Normal file

Binary file not shown.

BIN
ENDPIC/TMP.BBM Normal file

Binary file not shown.

BIN
ENDPIC/_PIC.OBK Normal file

Binary file not shown.