1 REM ********************************* 2 REM ** SCUM-64 MENU HANDLER ** 3 REM ** WRITTEN BY ** 4 REM ** W.M.WILSON 1988 ** 5 REM ********************************* 6 : 10 POKE55,255:POKE56,31:PRINTCHR$(8):IF PEEK(49152)=169 THEN 30 20 POKE147,0:SYS57812"SCUM.CODE",8,1:SYS62631 30 SYS49254:GOSUB2000:POKE53280,0:POKE53281,0:SYS49152 40 GET G$:IF G$<"0" OR G$>"9" THEN 40 50 G=VAL(G$):IF G=0THEN G=10 60 ON G GOSUB 110,120,130,140,150,160,170,180,300,400 70 GOTO30 100 : 110 SYS49263:RETURN:REM * DISPLAY 120 SYS49272:RETURN:REM * REFLECT 130 SYS49281:RETURN:REM * 2*1 140 SYS49290:RETURN:REM * 3*2 150 SYS49299:RETURN:REM * 2*4 160 SYS49308:RETURN:REM * 2*5 170 GOSUB200:SYS49317:RETURN:REM * POSTER 180 GOSUB200:SYS49326:RETURN:REM * KNITTING 190 : 200 : 201 REM ******************************* 202 REM ** PICTURE FRAME: 7,8 ONLY ** 203 REM ******************************* 204 : 205 SYS49169 210 GETG$:IFG$="Y"ORG$="[217]"THEN RETURN 220 IF G$<>"N"ANDG$<>"[206]"THEN210 230 SYS49186 240 PRINT"";SPC(29);:GOSUB290:POKE50474,X% 250 PRINT"";SPC(29);:GOSUB290:POKE50475,X% 260 PRINT"";SPC(29);:GOSUB290:POKE50476,X% 270 PRINT"";SPC(29);:GOSUB290:POKE50477,X% 280 POKE50478,1:POKE198,0:RETURN 290 X%=0:X=1 291 PRINT"*[157]";:GET G$:IF G$="" THEN291 293 G=ASC(G$):IFG=13 AND X<>1 THEN PRINT" ";:RETURN 294 IF G=20 AND X>1 THEN PRINT"[157]* [157][157]";:X%=X%/10:X=X-1:GOTO291 295 IF G<48 OR G>57 THEN291 296 IFX<=3THEN PRINTG$;:X%=X%*10+VAL(G$):X=X+1 297 IF X%>199 THEN G=20:GOTO 294 298 GOTO291 300 : 301 REM ******************************* 302 REM ** LOAD FILE ** 303 REM ******************************* 304 : 310 SYS49220:PRINT"";SPC(21);:GOSUB500:SYS49372:RETURN 400 : 401 REM ******************************* 402 REM ** SAVE FILE ** 403 REM ******************************* 404 : 410 SYS49203 420 GETZ$:IFZ$<>"D"AND Z$<>"C"THEN420 430 SYS49220:PRINT"";SPC(21);"SAVE: "; 440 IFZ$="C"THEN PRINT"M.CODE";SPC(21);:SA=1:GOSUB500:SYS49335:RETURN 450 PRINT"DATA";SPC(21);:SA=1:GOSUB500:SYS49346:RETURN 500 : 501 REM ******************************* 502 REM ** GET FILENAME ** 503 REM ******************************* 504 : 505 F$="" 510 A=LEN(F$):IF A<16 THEN PRINT"*[157]"; 520 GETG$:IFG$=""THEN520 530 G=ASC(G$):IF(G=13ANDDV=0)OR (G=13ANDA>0) THEN 580 540 IF G=20 AND A>0 AND A<16 THEN PRINT"[157]* [157][157]";:F$=LEFT$(F$,A-1):GOTO510 550 IF G=20 AND A=16 THEN PRINT"[157] [221][157][157]";:F$=LEFT$(F$,A-1):GOTO510 560 IF G>=32 AND G<=127 AND A<16 THENPRINTG$;:F$=F$+G$ 570 GOTO 510 580 IFA<16 THEN PRINT" [157]"; 590 SYS57812F$,DV,SA:RETURN 2000 : 2001 REM ****************************** 2002 REM ** KOALA PAD (DEFAULT) ** 2003 REM ****************************** 2004 : 2030 DV=8:SA=1:RETURN 2050 REM ****************************** 2052 REM ** CDU PAINT PROGRAM ** 2053 REM ****************************** 2054 : 2056 POKE50464,017:POKE50465,033:REM BIT MAP 2058 POKE50466,081:POKE50467,064:REM SMEM 2060 POKE50468,057:POKE50469,068:REM CMEM 2062 POKE50470,033:POKE50471,072:REM BACK 2064 POKE50472,000:POKE50473,080:REM ARRAY 2066 DV=8:SA=0:RETURN 2100 : 2101 REM ****************************** 2102 REM ** ART STUDIO ** 2103 REM ****************************** 2104 : 2130 POKE50464,000:POKE50465,032:REM BIT MAP 2140 POKE50466,064:POKE50467,063:REM SMEM 2150 POKE50468,056:POKE50469,067:REM CMEM 2160 POKE50470,041:POKE50471,067:REM BACK 2170 POKE50472,200:POKE50473,080:REM ARRAY 2180 DV=8:SA=1:RETURN 2200 : 2201 REM ****************************** 2202 REM ** BLAZING PADDLES ** 2203 REM ****************************** 2204 : 2230 POKE50464,000:POKE50465,032:REM BIT MAP 2240 POKE50466,000:POKE50467,064:REM SMEM 2250 POKE50468,000:POKE50469,068:REM CMEM 2260 POKE50470,128:POKE50471,063:REM BACK 2270 POKE50472,000:POKE50473,080:REM ARRAY 2280 DV=8:SA=0:RETURN