#include #include #pragma inline #include "playlist.h" char *msgs[] = { "Welcome to the second intro by Nullsoft", "the tune's by Jimi, the code's by Justino", "This intro is written entirely in a short 5000 lines of Visual Basic", "NOT!!!", "Greets to: Lovex, Manny, BugBoy, ACD", "Not much to say- not much to say", "Check out the Nullsoft Homepage: " "http://www.primenet.com/~vvschl/nullsoft", " ", "#define TRUE ('*'*'*') " "#define FALSE ('^'^'^') " "L8er...", "" }; int osc = 1; #include "gfx.c" #include "screen.c" #include "seq.c" int Done; void init_kb_handler(); void remove_kb_handler(); void fadein(); void set_black(); void fadeout(); void main(int argc, char *argv[]) { int port; int portset; unsigned long ltmp; outstring( "A Demo '95\n\r$"); outstring("Version 1.5!\r\n$"); if (argc < 2) { outstring("\r\nUsage:\r\n" " ademo Device [OutPort] [S]\r\n" "Device:\n\r" " 0 SoundBlaster\r\n" " 1 COVOX\r\n" " 2 PCSpeaker\r\n" " Use S if you have a slow computer\r\n$"); return; } if (*argv[2] == 'S' || *argv[3] == 'S' || *argv[2] == 's' || *argv[3] == 's') osc = 0; ltmp = *((unsigned long far *)0x46CL) + 8; while (ltmp > *((unsigned long far *)0x46CL)); if (*argv[1] < '0' || *argv[1] > '2') { outstring("\r\n\r\nInvalid Device\r\n$"); return; } if (!osc) argc --; if (argc < 3) { if (*argv[1] == '0') port = 0x220; else port = 0x378; } else sscanf(argv[2],"%X", &port); if (*argv[1] == '0') detect_sb(port); fadeout(); asm mov ax, 13h asm int 10h init_image(); initpal(); rotatepal(); rotatepal(); rotatepal(); set_black(); init_kb_handler(); init_txt(); initstars(); top_bar(); fadein(); start(*argv[1] - '0',port); while (!Done) { wait_vsync(); do_scrolly(); scrollstars(); rotatepal(); } fadeout(); stop(); remove_kb_handler(); asm mov ax, 3 asm int 10h set_black(); outstring("This production brought to you by Nullsoft\r\n$"); fadein(); }