home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
86xx
/
8610b.d64
/
color-print
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
6KB
|
240 lines
5 REM ********************************
6 REM *** (C) BY MATTHIAS MAY ***
9 REM ********************************
10 IFS=0THENS=1:LOAD"PRINT.1",8,1
12 IFS=1THENS=2:LOAD"PRINT.2",8,1
14 IFS=2THENS=3:LOAD"PRINT.3",8,1
16 IFS=3THENS=4:LOAD"PRINT.4",8,1
17 IFS=4THENS=5:LOAD"PRINT.5",8,1
18 POKE45,1:POKE46,64:POKE55,0:POKE56,128
20 CLR
22 SYS49664
24 PRINT"[147]"
26 F$(1)="SCHWARZ":F$(2)="BLAU":F$(3)="ROT"
28 SL$=CHR$(13)+" COLOR-PRINT"+CHR$(13)
30 SL$=SL$+" [192][192][192][192][192][192][192][192][192][192][192]"+CHR$(13)
32 SL$=SL$+" (C) BY MATTHIAS MAY"
40 PRINT SL$
41 POKE53280,11:POKE53281,0
42 N$(1)=" DISKWORK ":N$(2)=" FARBWECHSEL ":N$(3)=" BILD ZEIGEN "
43 N$(4)=" DRUCK ":N$(5)=" ENDE "
45 F=1:S1=9:FM=5:Z=6
50 PRINT:PRINT:PRINT:PRINT
55 PRINT" [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174] "
60 PRINT" [194] DISKWORK [194] "
70 PRINT" [194] FARBWECHSEL [194] "
80 PRINT" [194] BILD ZEIGEN [194] "
90 PRINT" [194] DRUCK [194] "
100 PRINT" [194] ENDE [194] "
105 PRINT" [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189] "
106 PRINT" "
107 PRINT" "
109 GOSUB 550
110 GETX$:IF X$="" THEN 110
120 IF X$="" THEN GOSUB500
130 IF X$="[145]" THEN GOSUB600
135 IF X$=CHR$(13) THEN 150
140 GOTO 110
150 ON F GOTO 1000,2000,3000,4000,10000
500 IF F=FM THEN RETURN
510 F=F+1
550 POKE 214,S1+F-1:POKE211,Z:SYS58640:PRINTN$(F-1)
560 POKE 214,S1+F :POKE211,Z:SYS58640:PRINT""N$(F)"[146]"
570 RETURN
600 IF F=1 THEN RETURN
610 F=F-1
650 POKE 214,S1+F+1:POKE211,Z:SYS58640:PRINTN$(F+1)
660 POKE 214,S1+F :POKE211,Z:SYS58640:PRINT""N$(F)"[146]"
670 RETURN
1000 PRINT""
1001 N$(1)=" DIRECTORY "
1002 N$(2)=" LOAD-PIC "
1003 N$(3)=" MENU "
1004 F=1:S1=13:FM=3:Z=12
1010 PRINT:PRINT:PRINT:PRINT
1015 PRINTTAB(11)"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
1020 PRINTTAB(11)"[194] DIRECTORY [194]"
1030 PRINTTAB(11)"[194] LOAD-PIC [194]"
1035 PRINT" [194] MENU [194] "
1040 PRINT" [160][160][160] [173][192][192][192][192][192][192][192][192][192][192][192][192][192][189] "
1041 PRINT" "
1042 PRINT" "
1045 PRINT" "
1046 PRINT" "
1047 PRINT" "
1048 PRINT" "
1049 GOSUB 550
1050 GETX$:IF X$="" THEN 1050
1055 PRINT""
1060 IF X$="" THEN GOSUB 500
1070 IF X$="[145]" THEN GOSUB 600
1075 IF X$<>CHR$(13) THEN 1050
1080 ON F GOTO 1100,1200,40
1090 GOTO 1050
1100 POKE59639,18:POKE1,53
1105 PRINT"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
1106 PRINT" [194]"
1110 SYS49921
1120 GETX$:IF X$="" THEN 1120
1130 POKE1,55:GOTO 1000
1200 PRINT" [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
1210 PRINT" [194]LOAD .................[194][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]":T=0
1211 PRINT" [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
1215 POKE214,17:POKE211,15:SYS58640
1220 POKE198,0:WAIT 198,1:GETA$
1230 IF A$=CHR$(20) THEN T=T-1:PRINT"[157].[157]";:GOTO 1220
1240 POKE 36864+T,ASC(A$):PRINTA$;
1245 IF A$<>CHR$(13) THEN T=T+1:GOTO 1220
1250 IF T>18 THEN T=18:PRINT"[157]";:GOTO 1220
1260 POKE36889,T
1270 SYS36896
1280 OPEN1,8,15
1290 GET#1,A,B$,C,D:PRINTA;B$;C;D
1295 CLOSE1
1300 GOTO 1000
2000 C0=0:C1=0:C2=0:C3=3:FOR U=1 TO 3:PRINT"[147]"
2010 GOSUB 15000
2040 POKE51238,C3:POKE51237,C2:POKE51236,C1:POKE53281,C0
2045 SYS32928
2050 GETX$:IF X$="" THEN 2050
2055 GOSUB 17000
2060 PRINT"[147]"
2070 PRINT""
2080 PRINTTAB(14)"[176][192][192][192][192][192][192][192][174]"
2090 PRINTTAB(14)"[194] [194][157][157][157][157][157][157][157][157]"F$(1)
2100 PRINTTAB(14)"[194] [194][157][157][157][157][157][157][157][157]"F$(2)
2110 PRINTTAB(14)"[194] [194][157][157][157][157][157][157][157][157]"F$(3)
2120 PRINTTAB(14)"[173][192][192][192][192][192][192][192][189]"
2130 N$(1)=F$(1)
2140 N$(2)=F$(2)
2150 N$(3)=F$(3)
2160 F=1:FM=3:S1=10:Z=15
2170 GOSUB 550
2180 GETX$:IF X$="" THEN 2180
2190 IF X$="" THEN GOSUB 500
2200 IF X$="[145]" THEN GOSUB 600
2210 IF X$<>CHR$(13) THEN 2180
2220 A$(U)=F$(F)
2230 IF C0=0 AND C1=0 AND C2=0 THEN C1=3:C3=0:GOTO 2250
2240 IF C0=0 AND C2=0 AND C3=0 THEN C2=3:C1=0
2250 NEXTU
2260 F$(1)=A$(1)
2270 F$(2)=A$(2)
2280 F$(3)=A$(3)
2290 PRINT"[147]":GOTO 40
3000 PRINT"[147]"
3010 GOSUB 15000
3035 SYS32928
3040 GETX$:IF X$="" THEN 3040
3041 IF X$="[133]" THEN POKE 53281,(PEEK(53281)+1)AND15:GOTO 3035
3042 IF X$="[134]" THEN POKE 51236,(PEEK(51236)+1)AND15:GOTO 3035
3043 IF X$="[135]" THEN POKE 51237,(PEEK(51237)+1)AND15:GOTO 3035
3044 IF X$="[136]" THEN POKE 51238,(PEEK(51238)+1)AND15:GOTO 3035
3046 IF X$="I" THEN SYS32768:FORG=1 TO 1000:NEXT:SYS32768:GOTO 3035
3050 GOSUB 17000
3080 PRINT"[147]":GOTO 40
4000 PRINTTAB(8)"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
4005 PRINTTAB(8)"[194] INVERTIERT J/N [194]"
4010 PRINTTAB(8)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
4015 GET X$:IF X$="" THEN 4015
4020 IF X$="J" THEN SYS32768
4050 PRINT""
4051 POKE 59639,18:POKE1,53
4052 OPEN4,4:PRINT#4,CHR$(8);
4053 PRINT"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
4054 PRINT"[194]BITTE BLATT PLAZIEREN [194]"
4055 PRINT"[194]UND MARKIEREN ! [194]"
4056 PRINT"[194]FARBE : [194][157][157][157][157][157][157][157][157][157][157][157][157][157][157]"F$(1)
4057 PRINT"[194] [194]"
4058 PRINT"[194] [194]"
4059 PRINT"[194] [194][145][145][145]"
4060 GETX$:IFX$="" THEN 4060
4061 PRINT"[194]START ..."
4065 X=312
4070 P=8192
4090 FOR H=0 TO 7
4100 A=PEEK(P+H+X):IF A=0 THEN A=128:GOTO 4700
4101 IF A=255 THEN 4700
4110 IF (AAND1)=1 AND (AAND2)=2 THEN 4115
4112 A=AAND255-1-2
4115 IF (AAND4)=4 AND (AAND8)=8 THEN 4125
4120 A=AAND255-4-8
4125 IF (AAND16)=16 AND (AAND32)=32 THEN4135
4130 A=AAND255-16-32
4135 IF (AAND64)=64 AND (AAND128)=128 THEN 4150
4140 A=AAND255-64-128
4150 A=INT(A/2):A=AOR128
4700 A$=A$+CHR$(A)
4710 NEXT H:PRINT#4,A$;:A$=""
4720 P=P+320:IF P<16384-192 THEN 4090
4730 PRINT#4
4740 X=X-8
4750 IF X>-8 THEN 4070
4800 PRINT"[194]BITTE BLATT PLAZIEREN [194]"
4810 PRINT"[194]FARBE : [194][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";F$(2)
4811 PRINT"[194] [194]"
4812 PRINT"[194] [194]"
4813 PRINT"[194] [194]"
4814 PRINT"[194] [194][145][145][145][145]"
4820 GETX$:IF X$="" THEN 4820
4830 PRINT"[194]START ..."
4840 X=312
4850 P=8192
4990 FOR H=0 TO 7
5000 A=PEEK(P+H+X):IF A=0 THEN A=128:GOTO 5060
5001 IF A=255 THEN A=128:GOTO5060
5010 IF (AAND1)=1 AND (AAND2)<>2 THEN A=A+2:GOTO 5012
5011 A=AAND255-1-2
5012 IF (AAND4)=4 AND (AAND8)<>8 THEN A=A+8:GOTO 5014
5013 A=AAND255-4-8
5014 IF (AAND16)=16 AND (AAND32)<>32 THEN A=A+32:GOTO 5016
5015 A=AAND255-16-32
5016 IF (AAND64)=64 AND (AAND128)<>128 THEN A=A+128:GOTO 5050
5017 A=AAND255-64-128
5050 A=INT(A/2):A=AOR128
5060 A$=A$+CHR$(A)
5070 NEXT H:PRINT#4,A$;:A$=""
5080 P=P+320:IF P<16384-192 THEN 4990
5090 PRINT#4
5100 X=X-8
5110 IF X>-8 THEN 4850
5120 PRINT"[194]BITTE BLATT PLAZIEREN [194]"
5130 PRINT"[194]FARBE : [194][157][157][157][157][157][157][157][157][157][157][157][157][157][157]"F$(3)
5131 PRINT"[194] [194]"
5132 PRINT"[194] [194]"
5133 PRINT"[194] [194]"
5134 PRINT"[194] [194][145][145][145][145]"
5140 GETX$:IF X$="" THEN 5140
5150 PRINT"[194]START ..."
5160 X=312
5170 P=8192
5190 FOR H=0 TO 7
5200 A=PEEK(P+H+X):IF A=0 THEN A=128:GOTO 5260
5201 IF A=255 THEN A=128:GOTO 5260
5210 IF (AAND2)=2 AND (AAND1)<>1 THEN A=A+1:GOTO 5212
5211 A=AAND255-1-2
5212 IF (AAND8)=8 AND (AAND4)<>4 THEN A=A+4:GOTO 5214
5213 A=AAND255-4-8
5214 IF (AAND32)=32 AND (AAND16)<>16 THEN A=A+16:GOTO 5216
5215 A=AAND255-16-32
5216 IF (AAND128)=128 AND (AAND64)<>64 THEN A=A+64:GOTO 5250
5217 A=AAND255-64-128
5250 A=INT(A/2):A=AOR128
5260 A$=A$+CHR$(A)
5270 NEXT H:PRINT#4,A$;:A$=""
5280 P=P+320:IF P<16384-192 THEN5190
5290 PRINT#4
5300 X=X-8
5310 IF X>-8 THEN 5170
5320 CLOSE4
5330 GOTO 24
10000 END
15000 POKE 53265,PEEK(53265)OR176
15010 POKE 53270,PEEK(53270)OR16
15020 POKE 53272,PEEK(53272)OR8
15030 RETURN
17000 POKE 53265,PEEK(53265)AND159
17010 POKE 53270,PEEK(53270)AND255-16
17020 POKE 53272,PEEK(53272)AND255-8
17030 RETURN