130 lines
2.8 KiB
C
130 lines
2.8 KiB
C
#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();
|
|
}
|
|
*/
|
|
}
|