1 REM THE MAD PROGRAMMER STRIKES AGAIN! 100 REM ***************************** 110 REM * * 120 REM * B L O C K M O V E * 130 REM * * 140 REM * -EN Z80-MASKINSPR]KSRUTIN * 150 REM * SOM FLYTTAR 1k BYTE TILL * 160 REM * BILDMINNET MED LDIR-INSTR.* 170 REM * FR]N VALFRI PLATS I MINNET* 180 REM * ELLER VICE VERSA. * 190 REM * E X E M P E L --> * 200 REM * * 210 REM * 123 D%=CALL(65408,62720) * 220 REM * 124 REM FR]N 62720(F500H) * 230 REM * 125 REM TILL BILDMINNET * 240 REM * 223 D%=CALL(65424,62720) * 250 REM * 224 REM FR]N BILDMINNET * 260 REM * 225 REM TILL 62720(F500H) * 270 REM * * 280 REM * DEN H[R RUTINEN SKAPAR * 290 REM * DETTA PROGRAM * 300 REM * * 310 REM ************PER*LINDBERG*79** 390 REM - FF80H 400 FOR A9=65408 TO 65437 410 READ B9% 420 POKE A9,B9% 430 NEXT A9 500 DATA 245, 197, 213, 17, 0, 124 510 DATA 225, 1, 0, 4, 237, 176 520 DATA 193, 241, 201, 0, 245, 197 530 DATA 33, 0, 124, 1, 0, 4 540 DATA 237, 176, 193, 241, 201, 0 910 A=62725 920 DEFFNA=Y%*128%-Y%/8%*984%+X%+A 950 REM  960 ; CHR$(12); 1000 FOR Y%=0% TO 23% 1010 FOR X%=0% TO 39% 1020 POKE FNA,127% 1030 NEXT X% 1040 NEXT Y% 1050 X%=0% 1060 FOR Y%=0% TO 23% 1070 POKE FNA,151% 1080 NEXT Y% 2000 ; CUR(12,5); 2010 ; "I begynnelsen var m|rker." 2011 FOR ]=0 TO 4000 : NEXT ] 2012 ; : ; TAB(5); 2015 ; "Och Cobol h{rskade i datorn." 2020 FOR ]=0 TO 5000 : NEXT ] 2040 ; : ; TAB(5); 2050 ; "Och ABC80 sade:" 2060 FOR ]=0 TO 5000 : NEXT ] 2070 ; CUR(20,15); 2080 ; "-VARDE LJUS !" 2090 FOR ]=0 TO 5000 : NEXT ] 2100 OUT 6,137 2110 D%=CALL(65408,A) 2120 FOR ]=0 TO 3000 : NEXT ] 2130 ; CUR(12,10); 2140 ; CHR$(135);"-Och det vart ljus."; 2150 ; CHR$(151); 2160 FOR ]=0 TO 5000 : NEXT ] 2170 ; CUR(23,0) 2180 ; : ; : ; 2190 ; CUR(23,5); 2200 ; "Och ABC80 s}g att det var gott." 2210 FOR ]=0 TO 5000 : NEXT ] 2220 ; CHR$(12); 2230 ; CUR(5,5); 2240 ; "Och ABC80 sade:" 2250 FOR ]=0 TO 3000 : NEXT ] 2260 A$="-VARDE LJUD !" 2262 FOR I=1 TO LEN(A$) 2264 POKE 31744+44+I,ASC(MID$(A$,I,1))+128% 2266 NEXT I 2275 OUT 6,29 2280 FOR ]=0 TO 3000 : NEXT ] 2281 OUT 6,0 2282 ; CUR(10,5); 2285 ; "( Och det vart ljud. )" 2295 FOR I%=20% TO 0% STEP -1% : FOR K%=0% TO 1.5*(19%-I%) 2300 FOR J%=0% TO I% : OUT 58%,64% : NEXT J% : FOR J%=0% TO I% : OUT 58%,0% : NEXT J% 2310 NEXT K% : NEXT I% 2330 ; CUR(15,5); 2335 ; "Och ABC80 h|rde," 2340 FOR ]=0 TO 2000 : NEXT ] 2350 ; TAB(5); 2360 ; "och fann att det var gott." 2370 FOR ]=0 TO 5000 : NEXT ] 2380 ; CHR$(12); 2390 FOR ]=0 TO 500 : NEXT ] 2400 ; CUR(5,5); 2410 ; "Och ABC80 sade:" 2420 FOR ]=0 TO 3000 : NEXT ] 2430 ; CUR(7,0); 2440 ; "-Frambringa v{xter och sk|na blommor !" 2450 FOR ]=0 TO 4000 : NEXT ] 2460 ; CUR(23,0); 2470 FOR I=0 TO 23 2480 READ A$ 2490 ; CHR$(151);A$; 2492 IF I<>23 THEN ; 2494 FOR ]=0 TO 100 : NEXT ] 2500 NEXT I 2510 FOR ]=0 TO 5000 : NEXT ] 2520 FOR I=0 TO 5 2530 ; : FOR ]=0 TO 400 : NEXT ] 2540 NEXT I 2550 ; TAB(5); 2560 ; "Och ABC80 fann att det var gott." 2570 FOR ]=0 TO 5000 : NEXT ] 2580 ; CHR$(12); : FOR ]=0 TO 600 : NEXT ] 2600 ; "Och ABC80 sade:" 2610 FOR ]=0 TO 3000 : NEXT ] 2620 ; CUR(3,0); 2635 ; "-Frambringa djur av alla de slag !" 2636 FOR ]=0 TO 5000 : NEXT ] 2637 ; CUR(0,0); 2640 FOR I=0 TO 22 2650 READ A$ 2660 ; CHR$(151);A$ 2670 FOR ]=0 TO 50 : NEXT ] 2680 NEXT I 2690 READ A$ : ; CHR$(151);A$; 2700 FOR ]=0 TO 5000 : NEXT ] 2710 ; CUR(0,0); 2720 FOR I%=0% TO 23% 2730 READ A$ : ; CUR(I%,0%);CHR$(151%); 2732 FOR J%=1% TO LEN(A$) 2734 ; MID$(A$,J%,1%); 2736 FOR ]=0 TO 5 : NEXT ] 2738 NEXT J% 2750 NEXT I% 2760 FOR ]=0 TO 5000 : NEXT ] 2762 FOR I=0 TO 24 2764 ; : FOR ]=0 TO 100-4%*I : NEXT ] 2765 NEXT I 2770 ; CHR$(12); 2780 ; CUR(5,2); 2790 ; "Och ABC80 s}g allt detta, och log." 2800 FOR ]=0 TO 5000 : NEXT ] 2810 FOR I%=10% TO 15% 2820 READ A$ 2830 ; CUR(I%,15%);CHR$(151%);A$; 2840 NEXT I% 2850 FOR ]=0 TO 5000 : NEXT ] 2860 ; CUR(20,12); 2870 ; "Och ABC80 sade:" 2880 FOR ]=0 TO 3000 : NEXT ] 2890 ; CHR$(12);CUR(12,12); 2900 ; "VARDE FORTRAN !!" 2910 FOR ]=0 TO 5000 : NEXT ] 2920 D%=CALL(65408,50000) 2925 FOR ]=0 TO 3000 : NEXT ] 2930 ; CHR$(12);CUR(10,10); 2935 FOR ]=0 TO 2000 : NEXT ] 2940 ; "Men d} }ngrade sig ABC80" 2950 ; : ; TAB(10); 2960 FOR ]=0 TO 5000 : NEXT ] 2970 ; " och sade:" 2980 FOR ]=0 TO 3000 : NEXT ] 2990 ; : ; TAB(10); 3000 ; " -VARDE BASIC !" 3010 FOR ]=0 TO 3000 : NEXT ] 3020 ; CHR$(12); 3030 ; CUR(12,12); 3040 A$="Och det vart BASIC." 3050 FOR I=1 TO LEN(A$) 3060 ; MID$(A$,I,1); 3062 IF MID$(A$,I,1)>="A" THEN OUT 6,137 3070 FOR ]=0 TO 200 : NEXT ] 3072 OUT 6,0 3080 NEXT I 3090 FOR ]=0 TO 3000 : NEXT ] 3100 ; CUR(15,5); 3105 A$="Och programmeraren s}g detta,"+CHR$(13,10,13,10)+" och gladdes d{r}t." 3110 FOR I=1 TO LEN(A$) 3120 ; MID$(A$,I,1); 3122 IF MID$(A$,I,1)>="A" THEN OUT 6,137 3130 FOR ]=0 TO 200 : NEXT ] 3132 OUT 6,0 3140 NEXT I 3150 FOR ]=0 TO 5000 : NEXT ] 3160 ; CHR$(12);CUR(6,17); 3170 FOR I=1 TO 9 3180 READ A$ 3190 ; TAB(17);A$ 3200 FOR ]=0 TO 600 : NEXT ] 3210 NEXT I 3220 ; CUR(21,0); 3230 FOR I%=20% TO 0% STEP -1% 3240 FOR J%=0% TO (100%-4%*I%)/3% : OUT 58%,64% : FOR K%=0% TO I% : NEXT K% : OUT 58%,0% : NEXT J% 3250 FOR ]=0 TO 10 : NEXT ] 3260 NEXT I% 9999 REM  10000 DATA " 8lz} `,t4" 10001 DATA " jp/j4`p u : o5} p0" 10002 DATA "(u##9w3`w> n2#cns!zy%" 10003 DATA " oo'o?16! *??+gh#" 10004 DATA " p0 pj `p `05" 10005 DATA " +j?z& 0 `pht ""o5e=!`" 10006 DATA " x|'d : ,# h!~k|0 `|>)p-&!" 10007 DATA " #! z `6/,g>/!>{ ""# `5" 10008 DATA " % |<}% : '! *" 10009 DATA " """" ""!i!" 10010 DATA " o}hj8" 10011 DATA " `s>1kp,!" 10012 DATA " /' j!" 10013 DATA " 7" 10014 DATA " `0" 10015 DATA " 8lz} `&{~op" 10016 DATA " jp/j4`p : |s?z%xl" 10017 DATA " (u##9w3`w> ""}ppv}4h='" 10018 DATA " oo'o?16! ++!+'d%" 10019 DATA " p0 pj |t`|j`" 10020 DATA " +j?z& 0 ""/z'n!p$" 10021 DATA " x|'d : ,# ~?!i&#" 10022 DATA " #! z >" 10023 DATA " % !" 10100 DATA " >""!!!"""""" `&##d `&##d `&##d" 10101 DATA " z! 8! )! )! )0" 10102 DATA " `>!""$ j 5" 10103 DATA "px.#0 )0 ""dppppppppppppppppp8!" 10104 DATA " $ ( d" 10105 DATA " 1 ( )" 10106 DATA " $ (" 10107 DATA " 1 (" 10108 DATA " $" 10109 DATA " !" 10110 DATA "" 10111 DATA " 8######d" 10112 DATA " `& )0" 10113 DATA " 5 5" 10114 DATA " (04444 5 5" 10115 DATA " ""##7 )0 `%" 10116 DATA " 8#;p0 ""d 8!" 10117 DATA " pppp& : ##57##" 10118 DATA " `&## j## 55" 10119 DATA " 5 6 55" 10120 DATA " e 8! )055" 10121 DATA " 57),,'# ""55" 10122 DATA " h=! 7 55" 10123 DATA " j 5 55" 10200 DATA "6#########c#########3##############3##k" 10201 DATA "5 $ ( j" 10202 DATA "5 "" ( ( "" j" 10203 DATA "5 0 ` 0 ! $j" 10204 DATA "= ` ` ( ( j" 10205 DATA "5 ` j" 10206 DATA "5 ( j" 10207 DATA "5 ! $ $ ! ! j" 10208 DATA "5 0 j" 10209 DATA "5 4 td4 0 0 e$0` `n` ! n" 10210 DATA "5( )0e""e? ` ""m5*05(>1 j" 10211 DATA "5 ""#cs=, 0 #c{,~}7#!` j" 10212 DATA "5 `~}t ( $! o}% ! ""j" 10213 DATA "5! ~!""! $ ! zu j" 10214 DATA "5 t x} ` j" 10215 DATA "5 j}|0 dp| j" 10216 DATA "5 ! `|m $ #?ou/mp j" 10217 DATA "5 xgf///'!7o0 ze?'! ##5j j" 10218 DATA "5 55 #ov/4 `?y?! k j" 10219 DATA "|||pp ""}5 >h' `px||~|||pz" 10220 DATA "}|||}||~||" 10221 DATA "" 10222 DATA "" 10223 DATA "" 10400 DATA " 8&#)d" 10401 DATA " : 0 ` e" 10402 DATA "5 j" 10403 DATA "e""dp8! : " 10404 DATA """d0 `8!" 10405 DATA " ""#!" 11000 DATA " Och" 11010 DATA " s}" 11020 DATA " levde" 11030 DATA " de" 11040 DATA "lyckliga" 11050 DATA " i" 11060 DATA " alla" 11070 DATA " sina" 11080 DATA " dagar."