FORGET RESTG : LEV2 24427 PEEK ; : CMSK 127 , 127 , 85 , 42 , 42 , 85 , 213 , 170 , 170 , 213 , 99 , 99 , ; : CSET 31 PEEK N2 * T1 N1 AND + ' CMSK + PEEK SWAP 8 * 4565 + ; : CBYTE DO DUP PEEK 128 OR PICK3 AND I 4821 + POKE N1 + LOOP 32 PUTBLK DROP DROP ; : TMPARY 0 , 0 , 0 , 0 , 0 , 0 , ; : C20 20 VTAB CR CLEOP ; : DR1CHK DR1FLG IF C20 PRINT " CHECK GAME DISK IS IN DRIVE 1, " CR 7 HTAB RDYMES C20 THEN ; : RDTMP ' TMPARY + PEEK ; : WRTMP ' TMPARY + POKE ; : APCOLR 1 , 2 , 5 , 6 , 3 , ; : SELX CR 17 VTAB CLEOP 13 HTAB PRINT " SELECT OPTION: " DUP 9 > IF PAD READLN PAD GETNUM ELSE KEYIN CVRTNUM THEN ; : SELECT BEGIN SELX N1 PICK3 CNM UNTIL SWAP DROP ; : DSPCOLRS ERASE 5 ZR DO I ADD1 RDTMP NOT IF I ' APCOLR + PEEK COLOR I 7 * 4 + 7 * DUP 48 PLOT 27 + 79 FILL I 7 * 5 + HTAB 11 VTAB I ADD1 . THEN LOOP ; : DIE RND SWAP MOD ; VARIABLE SOLO : NCINIT 6 N1 DO ZR I WRTMP LOOP 99 DUP 22098 POKE 22099 POKE ( COLOR MASKS FOR WHITE T-CHOICE BEGIN HOME 10 VTAB 7 HTAB PRINT " NUMBER OF PLAYERS (1-4): " KEYIN CVRTNUM N1 N4 CNM UNTIL DUP N1 = IF -> SOLO 255 N2 ELSE ZR -> SOLO ZR SWAP THEN 24574 POKE 24442 POKE ZR 24559 POKE N4 ZR DO ZR I 24426 + POKE LOOP HOME 8 VTAB 15 HTAB PRINT " GAME LEVEL " CR CR 12 HTAB PRINT " 1) BEGINNER " CR 12 HTAB PRINT " 2) INTERMEDIATE " CR 12 HTAB PRINT " 3) ADVANCED " CR 12 HTAB PRINT " 4) EXPERT " N4 SELECT ZR DO 255 I 24426 + POKE LOOP NP ADD1 N1 DO DSPCOLRS BEGIN 15 VTAB CR CLEOP SOLO IF 11 HTAB PRINT " SELECT " I SUB1 IF PRINT " MY " ELSE PRINT " YOUR " THEN ELSE N6 HTAB PRINT " PLAYER " I . PRINT " , SELECT YOUR " THEN PRINT " COLOR: " KEYIN CVRTNUM N1 5 CNM IF DUP RDTMP NOT IF DUP I 24560 + POKE DUP 5 = IF 5 24559 POKE ZR I 24560 + POKE THEN N1 SWAP WRTMP N1 ELSE DROP0 THEN ELSE ZR THEN UNTIL LOOP SOLO IF HOME N3 VTAB 9 HTAB PRINT " DIFFICULTY SCALE (1-9) " CR CR 8 HTAB PRINT " 1 IS EASIEST, 9 HARDEST. " CR CR 9 HTAB PRINT " 4 AND 5 ARE EVEN GAMES. " CR 7 HTAB PRINT " 4 GIVES YOU FIRST ATTACK - " CR 11 HTAB PRINT " 5 GIVES IT TO ME. " 9 SELECT 24416 POKE ELSE NP ZR DO ZR I WRTMP LOOP NP ZR DO BEGIN NP DIE DUP RDTMP WHILE DROP REPEAT DUP ADD1 24555 I + POKE N1 SWAP WRTMP LOOP THEN ; : SETRES 24428 PEEK IF N1 ELSE -1 THEN 24441 PEEK + DUP 24440 POKE 24441 PEEK N4 * + 24439 POKE ; : LMH CR CR 15 HTAB PRINT " 1) LOW " CR 15 HTAB PRINT " 2) MEDIUM " CR SOLO NOT IF 15 HTAB PRINT " 3) HIGH " 3 ELSE N2 THEN SELECT ; : TOGL DUP PEEK IF ZR ELSE 255 THEN SWAP POKE ZR ; : AID 24367 TOGL ; : AM 24420 TOGL ; : ACL HOME 8 VTAB 12 HTAB PRINT " ELEMENT OF CHANCE " SOLO ZR -> SOLO LMH N2 - 24413 POKE -> SOLO ZR ; : ACIT BEGIN HOME N6 VTAB 9 HTAB PRINT " CITIES NEEDED TO WIN (3-6): " KEYIN CVRTNUM N3 N6 CNM UNTIL 24414 POKE ZR ; : ARES LEV2 IF HOME 8 VTAB 11 HTAB PRINT " RESOURCE ABUNDANCE " LMH ADD1 24441 POKE SETRES ELSE 17 VTAB 5 HTAB INVERSE PRINT " CANNOT BE ALTERED IN THIS GAME " NORMAL 8000 DELAY THEN ZR ; : SETSTND N3 24414 POKE ( #CITS -1 DUP DUP 24413 POKE 24420 POKE 24367 POKE ( LUCKLEV,MUSIC,JOYSTICK LEV2 IF NP 24441 POKE SETRES ( RESABUND ELSE NP 24440 POKE NP N2 * ADD1 DUP 24441 POKE NP + 24439 POKE THEN ; : PLO PRINT " LOW " ; : PMED PRINT " MEDIUM " ; : PHI PRINT " HIGH " ; : OPTINIT SETSTND BEGIN BWIN DSPEX HOME 13 HTAB INVERSE PRINT " GAME SETTINGS " NORMAL N2 VTAB 7 HTAB PRINT " 1) RESOURCES : " 26 HTAB 24441 PEEK LEV2 NOT IF SUB1 N2 / THEN N2 - CASE: PLO PMED PHI THEN CR CR 7 HTAB PRINT " 2) CITIES TO WIN : " 26 HTAB 24414 PEEK . CR CR 7 HTAB PRINT " 3) CHANCE LEVEL : " 26 HTAB 24413 PEEK ADD1 CASE: PLO PMED PHI THEN CR CR 7 HTAB PRINT " 4) MUSIC : " 26 HTAB 24420 PEEK IF PRINT " ON " ELSE PRINT " OFF " THEN CR CR 7 HTAB PRINT " 5) INPUT DEVICE : " 26 HTAB 24367 PEEK IF PRINT " JOYSTICK " ELSE PRINT " KEYBOARD " THEN BEGIN 13 VTAB N4 HTAB PRINT " SELECT 1-5 TO CHANGE A SETTING, " CR 5 HTAB PRINT " OR PRESS "RETURN" TO PROCEED. " KEYIN DUP 141 = IF N6 SWAP ELSE CVRTNUM N1 5 CNM THEN UNTIL SUB1 CASE: ARES ACIT ACL AM AID N1 THEN UNTIL HOME ZR DUP 24570 POKE 24571 POKE ; : GRID 0 , 0 , 0 , 0 , 8 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 0 , ; : XFER 4837 I + POKE ; : SETWK N16 ZR DO ' GRID I + PEEK XFER LOOP ; : SHOWMAP SETWK BWIN HOME ZR RDLNK0 24573 POKE 49 N1 DO ZR I WRRES ZR I 5333 + POKE ZR I 24505 + POKE LOOP 24561 PEEK PUSH ZR 24561 POKE REF PULL 24561 POKE SWIN HOME BEGIN 21 VTAB 8 HTAB CLEOP PRINT " USE THIS MAP? (Y/N) " KEYIN DUP 217 = SWAP 206 = OVER OR UNTIL HOME ; : MAPTYPE BWIN HOME DSPEX 8 VTAB 15 HTAB PRINT " MAP SOURCE " CR CR 9 HTAB PRINT " 1) MAP FROM GAME DISK " CR 9 HTAB PRINT " 2) SAVED MAP " CR 9 HTAB PRINT " 3) GENERATE A MAP " N3 SELECT SUB1 ; : STND HOME DR1CHK BEGIN N2 10 INSERTMS HOME SIDE N2 = UNTIL BEGIN BWIN HOME DSPEX N2 VTAB 12 HTAB INVERSE PRINT " MAP CATALOGUE: " NORMAL CR CR PRINT " 1:N. AMERICA (BEG) 10:SEA OF JAPAN " CR PRINT " 2:MIDDLE EAST 11:EUROPEAN WARS " CR PRINT " 3:PRUSSIA 12:WORLD " CR PRINT " 4:N. AMERICA (ADV) 13:RIVERLAND (FICT) " CR PRINT " 5:BORDERLAND(FICT) 14:POLAR ICE " CR PRINT " 6:CHINA 15:THREE CONTINENTS " CR PRINT " 7:MEDITERRANEAN 16:AFRICA " CR PRINT " 8:ANCIENT ITALIA 17:SOUTH AMERICA " CR PRINT " 9:CARIBBEAN 18:"DOWN UNDER" " CR 13 HTAB PRINT " 19:SHENANDOAH " CR CR 15 HTAB INVERSE PRINT " 20:EXIT " NORMAL 20 SELECT DUP 20 = IF ZR SWAP ELSE CR 132 PUTC PRINT " BLOADM " SUB1 . PRINT " .M,A2816 " CR SHOWMAP IF N1 N1 ELSE ZR THEN THEN UNTIL BEGIN N1 20 INSERTMS HOME SIDE N1 = UNTIL ; : SAVED N1 -> FILETYPE HOME 11 29 8 N16 WINDOW PAD ASSIGN " BLOAD " DSB1 NXTP ASSIGN " .M,A2816,D " DSB0A SHOWMAP ; : LS3 BEGIN N2 9 INSERTMS HOME SIDE N2 = UNTIL 9 VTAB N16 HTAB PRINT " LOADING " CR 18 HTAB PRINT " MAP " CR 15 HTAB PRINT " GENERATOR " READ " MAPGEN " ; VARIABLE TEMP1 : FEELT -> AREG 17216 CALL ; : CXCHK ZR 24457 POKE 48 ZR DO 255 I 24458 + POKE LOOP ZR -> TEMP1 SWIN HOME 21 VTAB 12 HTAB PRINT " PLEASE WAIT " NT ADD1 N1 DO I FEELT I 24457 + PEEK 255 = IF TEMP1 INC TEMP1 THEN LOOP CR INVERSE TEMP1 IF 7 HTAB PRINT " SORRY, MAP TOO COMPLEX " CR 8 HTAB PRINT " FOR COMPUTER PLAYER " 20000 DELAY ELSE 17 HTAB PRINT " OK " THEN NORMAL 3500 DELAY TEMP1 ; VARIABLE CSPAR : START ZR -> DR1FLG 45 ZR DO ZR I 24368 + POKE LOOP ZR 24560 POKE NCINIT HOME OPTINIT BEGIN BEGIN MAPTYPE -> CSPAR CSPAR CASE: STND SAVED N1 THEN UNTIL CSPAR N2 < SOLO AND IF CXCHK NOT ELSE N1 THEN UNTIL DR1CHK CSPAR N2 < IF HOME READ " RLOAD,D1 " ELSE LS3 THEN ; CLOSE RUN