Upload
This commit is contained in:
commit
43352ff262
1291 changed files with 220976 additions and 0 deletions
119
END/ASM.ASM
Normal file
119
END/ASM.ASM
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
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
|
||||
|
||||
REPOUTSB MACRO
|
||||
local l1
|
||||
l1: mov al,ds:[si]
|
||||
inc si
|
||||
out dx,al
|
||||
dec cx
|
||||
jnz l1
|
||||
ENDM
|
||||
|
||||
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
|
||||
REPOUTSB
|
||||
pop ds
|
||||
pop di
|
||||
pop si
|
||||
pop bp
|
||||
ret
|
||||
_setpalarea ENDP
|
||||
|
||||
code ENDS
|
||||
END
|
||||
|
||||
BIN
END/ASM.OBJ
Normal file
BIN
END/ASM.OBJ
Normal file
Binary file not shown.
3
END/DOPIC.BAT
Normal file
3
END/DOPIC.BAT
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
..\util\lbm2p pic.lbm pic.uh
|
||||
..\util\doobj pic.uh _pic _pic.obk
|
||||
nmake
|
||||
BIN
END/DP_PREFS
Normal file
BIN
END/DP_PREFS
Normal file
Binary file not shown.
130
END/END.C
Normal file
130
END/END.C
Normal file
|
|
@ -0,0 +1,130 @@
|
|||
#include <stdio.h>
|
||||
#include "..\dis\dis.h"
|
||||
|
||||
#include "readp.c"
|
||||
|
||||
extern char pic[];
|
||||
|
||||
char *vram=(char *)0xa0000000L;
|
||||
|
||||
char *scroller[]={
|
||||
" S e c o n d R e a l i t y ",
|
||||
" ",
|
||||
" has entirely been created by ",
|
||||
" the Future Crew in 1993 ",
|
||||
" ",
|
||||
" First presented at ",
|
||||
" Assembly 1993 - Finland ",
|
||||
/*" ",
|
||||
" ",
|
||||
" credits... ",
|
||||
" ",
|
||||
" (this is surely the best ",
|
||||
" endscroller ever!) ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
*/};
|
||||
|
||||
char pal2[768];
|
||||
char palette[768];
|
||||
char rowbuf[640];
|
||||
|
||||
main()
|
||||
{
|
||||
int a,b,c,y;
|
||||
dis_partstart();
|
||||
_asm
|
||||
{
|
||||
mov dx,3c0h
|
||||
mov al,11h
|
||||
out dx,al
|
||||
mov al,255
|
||||
out dx,al
|
||||
mov al,20h
|
||||
out dx,al
|
||||
}
|
||||
dis_waitb();
|
||||
outp(0x3c8,0);
|
||||
for(a=0;a<768-3;a++) outp(0x3c9,63);
|
||||
// _asm mov ax,13h+80h
|
||||
// _asm int 10h
|
||||
// inittwk();
|
||||
_asm
|
||||
{
|
||||
mov dx,3d4h
|
||||
mov ax,000ch
|
||||
out dx,ax
|
||||
mov ax,000dh
|
||||
out dx,ax
|
||||
mov al,9
|
||||
out dx,al
|
||||
inc dx
|
||||
in al,dx
|
||||
and al,not 80h
|
||||
and al,not 31
|
||||
out dx,al
|
||||
mov dx,3c0h
|
||||
mov al,11h
|
||||
out dx,al
|
||||
mov al,0
|
||||
out dx,al
|
||||
mov al,32
|
||||
out dx,al
|
||||
}
|
||||
dis_waitb();
|
||||
outp(0x3c8,0);
|
||||
for(a=0;a<768-3;a++) outp(0x3c9,63);
|
||||
for(a=0;a<32;a++) dis_waitb();
|
||||
|
||||
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<5000 && !dis_exit();a++)
|
||||
{
|
||||
dis_waitb();
|
||||
if(dis_musplus()>-16) break;
|
||||
}
|
||||
for(c=63;c>=0;c--)
|
||||
{
|
||||
for(a=0;a<768-3;a++) pal2[a]=(palette[a]*c)/64;
|
||||
dis_waitb();
|
||||
setpalarea(pal2,0,255);
|
||||
}
|
||||
/*
|
||||
_asm mov ax,4
|
||||
_asm int 10h
|
||||
outp(0x3c8,0); outp(0x3c9,0); outp(0x3c9,0); outp(0x3c9,0);
|
||||
for(a=0;a<768-3;a++) outp(0x3c9,40);
|
||||
for(b=0;b<25;b++) printf("\n");
|
||||
for(a=0;a<24 && !kbhit();a++)
|
||||
{
|
||||
printf("%s\n",scroller[a]);
|
||||
for(b=0;b<20;b++) dis_waitb();
|
||||
}
|
||||
*/
|
||||
}
|
||||
BIN
END/END.EXE
Normal file
BIN
END/END.EXE
Normal file
Binary file not shown.
BIN
END/END.OBJ
Normal file
BIN
END/END.OBJ
Normal file
Binary file not shown.
BIN
END/END2.EXE
Normal file
BIN
END/END2.EXE
Normal file
Binary file not shown.
BIN
END/FUTURE_8.LBM
Normal file
BIN
END/FUTURE_8.LBM
Normal file
Binary file not shown.
24
END/MAKEFILE
Normal file
24
END/MAKEFILE
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
all : end.exe
|
||||
|
||||
# objects
|
||||
|
||||
objs=end.obj asm.obj _pic.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) $<
|
||||
|
||||
end.exe : $(objs)
|
||||
link /E $(objs)+..\dis\disc.obj,end.exe,nul;
|
||||
copy end.exe ..\main\data\endlogo.exe
|
||||
|
||||
|
||||
BIN
END/NUTS.LBM
Normal file
BIN
END/NUTS.LBM
Normal file
Binary file not shown.
BIN
END/PIC.LBM
Normal file
BIN
END/PIC.LBM
Normal file
Binary file not shown.
BIN
END/PIC.UH
Normal file
BIN
END/PIC.UH
Normal file
Binary file not shown.
64
END/READP.C
Normal file
64
END/READP.C
Normal 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
END/SM.COM
Normal file
BIN
END/SM.COM
Normal file
Binary file not shown.
BIN
END/TMP.BBM
Normal file
BIN
END/TMP.BBM
Normal file
Binary file not shown.
BIN
END/_PIC.OBK
Normal file
BIN
END/_PIC.OBK
Normal file
Binary file not shown.
Loading…
Reference in a new issue