home *** CD-ROM | disk | FTP | other *** search
Wrap
GW-BASIC | 1979-12-31 | 3.3 KB | 79 lines
10 REM THE KING'S RULE logo routine 20 REM (c) 1985, Sunburst Communications 30 REM Author: Tom O'Brien 40 REM Programmer: Raoul Watson 50 DEF SEG=0:POKE &H6C,84:POKE &H6D,0:POKE &H6E,0:POKE &H6F,0:POKE 84,&HCF:DEF SEG 60 DEF SEG=&H40:IF PEEK(&H6B)<>&HA5 THEN 650 70 DEF SEG=&HF000:JR=(PEEK(&HFFFE)=&HFD):DEF SEG 80 LD$="UNPACK.BLD":MAXIMUM%=16500 90 DEF SEG=&H40:MEM%=PEEK(&H13)+256*PEEK(&H14) 100 ASMPROG%=(MEM%*1024/16)-108 110 SEGMENT%=INT((ASMPROG%*16-MAXIMUM%)/16):DEF SEG=ASMPROG%:BLOAD LD$,0 120 GOTO 500 130 LOCATE 25,8:PRINT "Press any key to continue."; 140 A$=INKEY$ 150 IF A$<>"" THEN RETURN 160 GOTO 140 170 REM Check Graphics Screen 180 REM First check to see if enough memory... 190 DEF SEG=&H40:EQUIP=PEEK(&H10) 200 IF PEEK(&H6B)<>&HA5 THEN GOTO 650 210 MEM=PEEK(&H13)+256*PEEK(&H14):IF MEM>=196 THEN 240 220 CLS:COLOR ,1:LOCATE 12:PRINT " Sorry, but you don't have enough":PRINT:PRINT " memory to run this program..." 230 GOSUB 130:RETURN 660 240 DEF SEG=&HB800:POKE 1,7:IF PEEK(1)=7 THEN CLS:GOTO 270 250 CLS:WIDTH 40:LOCATE 12:PRINT " Sorry, but you need the Color/Graphics":PRINT:PRINT " Monitor Adapter to use this program." 260 GOSUB 130:RETURN 660 270 IF JR OR (EQUIP AND &H30)<>48 THEN 410 280 CLS:WIDTH 80:ULX=18:ULY=7:LRX=62:LRY=22 290 LOCATE ULY,ULX:PRINT "KEY":LOCATE LRY,ULX:PRINT "SCREEN":LOCATE ULY,LRX:PRINT "CLOSE":LOCATE LRY,LRX:PRINT "LOAD" 300 XL=LRX-ULX-1 310 LOCATE ULY,ULX+1:PRINT STRING$(XL,"THEN");:LOCATE LRY,ULX+1:PRINT STRING$(XL,"THEN"); 320 FOR L=ULY+1 TO LRY-1:LOCATE L,ULX:PRINT "OPEN";:LOCATE L,LRX:PRINT "OPEN";:NEXT 330 LOCATE 9,33,0:COLOR 9:PRINT "THE KING'S RULE";:COLOR 7:LOCATE 11,31:PRINT "(c) Copyright 1985":COLOR 10:LOCATE 12,29:PRINT "Sunburst Communications";:COLOR 7:LOCATE 13,25:PRINT "Pleasantville, New York 10570"; 340 LOCATE 15,31:PRINT "Author: Tom O'Brien";:LOCATE 16,28:PRINT "Programmer: Raoul Watson"; 350 LOCATE 18,22,0:PRINT "Please turn on your graphics monitor.":LOCATE 20,33:PRINT "Press any key.";:GOSUB 760 360 DEF SEG=&HB000:FOR D=0 TO 38 STEP 2:POKE D+2761,240:POKE 2837-D,240:NEXT D 370 FOR L=1 TO 2500:L=L-2500*(INKEY$<>"") 380 NEXT L:FOR D=0 TO 38 STEP 2:POKE D+2761,112:POKE 2837-D,112:NEXT D 390 DEF SEG=&H40:POKE &H10,(EQUIP AND &HCF) OR &H10 400 SCREEN 0:SCREEN 1:LOCATE ,,0,6,7:COLOR 0,1 410 RETURN 420 REM Logo Routine 430 SCREEN 1,0:DEF SEG:IF JR THEN OUT &H3DA,0:OUT &H3DA,0 ELSE OUT &H3D8,2 440 PACKIT%=-1:UNPACKIT%=0:PACK%=0 450 FILE1$="logo.pak" 460 DEF SEG=SEGMENT%:BLOAD FILE1$,0 470 DEF SEG=ASMPROG%:CALL PACK%(SEGMENT%,UNPACKIT%):COLOR 52 480 DEF SEG:IF JR THEN OUT &H3DA,0:OUT &H3DA,10 ELSE OUT &H3D8,10 490 RETURN 500 REM Initialization 510 ON ERROR GOTO 710 520 KEY OFF:FOR LKEY=1 TO 10:KEY LKEY,"":NEXT:SCREEN 1:CLS:LOCATE ,,0 530 ' 540 GOSUB 170<UNK! {0009}>'check if graphics screen, switch over if not on. 550 GOSUB 420:GOSUB 760:FOR L=1 TO 1000:L=L-1000*(INKEY$<>""):NEXT 560 SCREEN 1,0 570 COLOR 48:CLS:DEF SEG:IF JR THEN OUT &H3DA,0:OUT &H3DA,0 ELSE OUT &H3D8,2 580 FILE1$="castle.pak" 590 DEF SEG=SEGMENT%:BLOAD FILE1$,0 600 DEF SEG=ASMPROG%:CALL PACK%(SEGMENT%,UNPACKIT%) 620 DEF SEG:IF JR THEN OUT &H3DA,0:OUT &H3DA,10 ELSE OUT &H3D8,10 630 REM 635 WHILE INKEY$<>"":WEND:FOR L=1 TO 800:L=L-800*(INKEY$<>""):NEXT 640 DEF SEG=0:PL%=INT((((PEEK(&H510)+256*PEEK(&H511))*16+VARPTR(#2))/16)+1):DEF SEG=PL%:POKE 0,0:DEF SEG:RUN"menu" 650 CLS:KEY OFF:SCREEN 1:LOCATE 12,2:PRINT"Unauthorized copying of this diskette";:LOCATE 14,2: PRINT" is unlawful."; 651 PRINT CHR$(7);:GOTO 651 660 SCREEN 0,1,0:COLOR 15,0:WIDTH 40:CLS:LOCATE 9,8,0:PRINT "If you would like to use":LOCATE 11,4:PRINT "another disk, insert it now, and":LOCATE 13,13:PRINT "press ENTER.":GOSUB 760 670 K$=INKEY$:IF K$=CHR$(13) THEN 680 ELSE 670 680 DEF SEG=&H40:POKE &H72,&H34:POKE &H73,&H12:DEF SEG=&HF000 690 A=&HE05B 700 CALL A 710 '******* SOMETHING IS WRONG ****** 720 CLS:LOCATE 11,6 730 REM 740 PRINT "Please make sure that the disk":LOCATE 12,6:PRINT "has been inserted properly into":LOCATE 13,6:PRINT "the disk drive.":GOSUB 130 750 RESUME 760 DEF SEG=0:POKE 1050,PEEK(1052):DEF SEG:POKE 106,0:RETURN 770 DATA 55,8b,ec,8b,76,06,5d,06,b8,00,b8,8e,c0,bf,00,00,46,b9,00,00,b8,00,00,46,8a,24,46,8a,04,8a,cc,26,88,05,47,81,ff,ff,3f,7d,04,e2,f4,eb,ea,07,ca,02,00