home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tiger Disk 11
/
Tiger_Disk_011_19xx_Tiger-Crew-Disk_de_Side_B.d64
/
zs-generator!
(
.txt
)
< prev
Wrap
Commodore BASIC
|
2023-02-26
|
11KB
|
475 lines
1 poke788,52
5 goto 10000 : rem init und start
6 :
7 version 1.8
8 "[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
9 "(c) 1984 by s. seefeld"
10 "[213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]
20 "(NULL) (NULL)
30 "[221] zeichensatz-former [221]
40 "(NULL) (NULL)
50 "[221] copyright 1984 by [221]
60 "(NULL) u. bachfischer (NULL)
70 "[221] [221]
80 "mid$tantantantantantantantantantantantantantantantantantantantan(NULL)
200 poke cp,peek(cp)and 127
205 cp=bi+3*40+2+xp+40*yp
210 poke cp,peek(cp)or 128 :return
220 poke pp,c
225 pp=bi+xk+40*yk
230 c=peek(pp)
240 poke pp,160:return
250 poke214,y:poke211,x:sys58732:return:rem cursorposition
300 poke cp,peek(cp)and 127:return:rem loesch cursor
999 :
1000 rem hauptprogramm
1001 rem"[163][163][163][163][163][163][163][163][163][163][163][163][163]
1030 [141] 13000 :[143] print new char
1040 be$[178]"eslukanzmdvrundimreadlet":[143] befehle
1100 [143] eingabe schlaufe
1110 [161] a$:[139] a$[178]"" [167] 1110
1115 [139] a$[178]"" [167] 1600
1120 [139] a$[178]"" [167] xp[178]xp[170]1:[137] 2000
1130 [139] a$[178]"cmd" [167] xp[178]xp[171]1:[137] 2000
1140 [139] a$[178]"" [167] yp[178]yp[170]1:[137] 2000
1150 [139] a$[178]"on" [167] yp[178]yp[171]1:[137] 2000
1160 [139] a$[178]"" [167] xp[178]0:yp[178]0:[137] 2000
1170 [139] a$[178]" " [167] 2200
1180 [139] a$[178]"*" [167] 2400
1190 [139] a$[178]"tan" [167] 2400
1200 [139] a$[178]"load" [167] 2600
1210 [129] t[178]1 [164] [195](be$)
1220 [139] a$[179][177][202](be$,t,1) [167] [130]:[137] 1100
1230 [145] t [137] 3600,4200,4400,3400,3200,3800,3000,1380,4000,5800,5600
1240 [145] t[171]11 [137] 5400,5300,5200,5000
1250 [144]
1300 [139] a$[178]"n" [167] 3000 :[143] new char
1310 [139] a$[178]"c" [167] 3200 :[143] copy
1320 [139] a$[178]"i" [167] 3400 :[143] invers
1330 [139] a$[178]"q" [167] 3600 :[143] ende
1340 [139] a$[178]"k" [167] 3800 :[143] korrigiren
1350 [139] a$[178]"m" [167] 4000 :[143] m.-color
1360 [139] a$[178]"s" [167] 4200 :[143] saven
1370 [139] a$[178]"l" [167] 4400 :[143] laden
1380 [139] a$[178]"z" [167] 4600 :[143] zeichnen
1390 [139] a$[178]"let" [167] 5000 :[143] f7
1400 [139] a$[178]"read" [167] 5200 :[143] f5
1410 [139] a$[178]"dim" [167] 5300 :[143] f3
1420 [139] a$[178]"run" [167] 5400 :[143] shift f3
1430 [139] a$[178]"$" [167] 5600 :[143] verzeich.
1500 [137]1100
1900 [128]
2000 xp[178]xp [175] 7
2010 yp[178]yp [175] 7
2040 [141] 200
2050 [137] 1100
2200 [143] loeschen
2210 [151] cp,128[170]32
2220 d[178]ad[170]yp
2230 [151] d,[194](d) [175] (255[171]p(xp))
2240 [137] 1100
2400 [143] setzen
2410 [151] cp,128[170]42
2420 d[178]ad[170]yp
2430 [151] d,[194](d) [176] p(xp)
2440 [137] 1100
2600 [129] i[178]ad [164] ad[170]7:[151] i,0:[130]
2610 [141] 13000
2620 [137] 1100
2998 :
3000 [143] new char
3001 [143]"tab(tab(tab(tab(tab(tab(tab(tab(
3010 t$="bildschirmcode"
3020 za=1:ma=255
3030 gosub 14000
3040 ch=in
3050 gosub 250
3070 gosub 13000
3080 goto 1100
3198 :
3199 rem kopieren
3200 rem"[163][163][163][163][163][163][163][163]
3210 t$[178]"bildschirmcode"
3220 za[178]1:ma[178]255
3230 [141] 14000
3240 a2[178]34816[170]8[172]in
3250 [129]i[178]0[164]7:[151] ad[170]i,[194](a2[170]i):[130]
3260 [141] 13000
3270 [137] 1100
3398 :
3399 [143] inverse
3400 [143]"tab(tab(tab(tab(tab(tab(tab(
3410 fori=0to7:poke ad+i,255-peek(ad+i):next
3420 gosub 13000
3430 goto 1100
3598 :
3599 rem quit
3600 rem"[163][163][163][163]
3610 [141] 6200
3620 [153]""
3630 [153][163]5)"nstopormaler zeichensatz"
3640 [153][163]5)"gstopeaendeter zeichensatz
3650 printtab(5)"u[144]nterteilter bildschirm"
3660 printtab(5)"f1[144] ... zurueck zum editor"
3670 get a$
3680 if a$="[133]" then gosub 6100:goto 1000
3690 if a$="u" then sys 828:end
3710 if a$="g" then poke53248+24,2:end
3720 if a$<>"n" then 3670
3730 goto 6000:rem normal
3798 :
3799 rem korrigieren
3800 rem"[163][163][163][163][163][163][163][163][163][163][163]
3805 [141] 300
3810 x[178]12:y[178]11
3820 [141]250
3830 [153]"zeichensatz 1,2,3 ?";
3835 [161] a$:[139] a$[178]"input" [167] [141] 16000:[137] 2000
3836 [139] a$[177]"3" [176] a$[179]"1" [137] 3835
3840 [139] 1 [167] [151]2,204[170]4[172][197](a$):[158] 51200 :[137] 3900
3850 [151]56334,0:[151] 1,51
3860 a1[178]53248[170]8[172]ch[171]2048[172](a$[178]"k")
3870 [129] i[178]0 [164] 7 :[151]i[170]ad,[194](a1[170]i):[130]
3880 [151] 1,55:[151]56334,1
3900 [153]"cmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmd ";
3910 [141] 13000
3920 [137] 1100
3998 :
3999 [143] multicolor
4000 [143]"tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(
4010 h1=peek(v+22)
4020 x=35:y=6:gosub250
4030 if h1and 2^4 goto 4070
4040 print"[158]aus";
4050 poke v+22,h1 or 2^4
4055 x=peek(55296+40*22) and 15
4060 if x>7 then 1100
4061 x=x or 8
4062 goto 5220: rem zeichenfarbe
4070 print"[158]ein";
4080 poke v+22,h1-2^4
4090 goto 1100
4198 :
4199 rem saven
4200 rem "[163][163][163][163]
4210 [141] 9000 :[143] filename
4220 [151] 194,136:[143] hi startadresse
4230 [151] 193, 0:[143] lo startadresse
4240 [151] 175,144:[143] hi endadresse
4250 [151] 174, 0:[143] lo endadresse
4255 [151] 648,4:
4260 [158] 62954 :[143] save-routine
4265 [151] 648,128
4270 [141] 17000
4290 [137] 2000
4398 :
4399 [143] laden
4400 [143]"tab(tab(tab(tab(tab(
4410 gosub 9000 :rem filename
4420 poke 782,136:rem hi startadresse
4430 poke 781, 0:rem lo startadresse
4440 poke 780,0 :rem load/v. flag
4445 poke 648,4
4450 sys 65493 :rem load-routine
4455 poke 648,128
4460 gosub 17000
4490 goto 1000
4598 :
4599 rem zeichnen
4600 rem"[163][163][163][163][163][163][163][163]
4601 [141] 300
4605 d$[178]" "
4607 [151] 646,[194](55296[170]23[172]40):[143] farbe
4610 xk[178]0:yk[178]13
4620 pp[178]bi[170]xk[170]40[172]yk
4630 c[178][194](pp)
4640 [141] 220
4700 [161] a$:[139] a$[178]"" [167] 4700
4705 a[178][198](a$)
4710 [139] a$[178]"" [167] xk[178]0:yk[178]13:[137] 4800
4715 [139] a$[178]"" [167] xk[178]xk[170]1:[137] 4800
4720 [139] a$[178]"cmd" [167] xk[178]xk[171]1:[137] 4800
4725 [139] a$[178]"" [167] yk[178]yk[170]1:[137] 4800
4730 [139] a$[178]"on" [167] yk[178]yk[171]1:[137] 4800
4735 [139] a$[178]"input" [167] [151]pp,c:[137] 2000 :[143] ende
4740 [139] a[178]13 [167] xk[178]0:yk[178]yk[170]1:[137]4800
4745 [139] a$[178]"load"[167] 4950
4760 [139](a[177]31[175]a[179]127)[176](a[177]160[175]a[179]191)[167]4900
4765 [139] a[178]14 [167] 4700
4770 [139] a[178]20 [167] 4700
4775 [139] a[177]1132 [175] a[179]143 [167] 4700
4780 [139] a[178]148 [167] 4700
4785 [139] a[177]191 [167] 4700
4790 [153]a$;
4800 [139] xk[177]23 [167] xk[178]0
4810 [139] yk[177]18 [167] yk[178]13
4820 [139] xk[179]0 [167] xk[178]23
4830 [139] yk[179]13 [167] yk[178]18
4840 [141] 220
4850 [137] 4700
4900 x[178]xk:y[178]yk:[141]250:[153]a$;:xk[178]xk[170]1:[139] xk[177]23 [167] xk[178]0
4910 [141] 225
4920 [137] 4700
4950 xk[178]0:yk[178]13:x[178]xk:y[178]yk:[141]250
4960 [129] i[178]1[164]6:[153]" ":[130]
4970 c[178]32:[137] 4800
4980 :
4998 :
4999 [143] hintergrundfarbe 1
5000 [143]"tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(
5010 poke 254,(peek(254)+1) and 15
5020 goto 1100
5198 :
5199 rem zeichenfarbe
5200 rem hintergrundfarbe 2
5210 x=(peek(55296+40*24)+1) and 15
5220 a=55296 +18*40+24
5230 fori=0 to 255:pokei+a,x:next
5240 p=14 *40+28
5250 poke55296+p,x
5260 goto 1100
5299 :
5300 rem hintergrundfarbe 2
5301 rem"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]
5310 [151] 53282,([194](53282)[170]1) [175] 15
5320 [137] 1100
5398 :
5400 [143] hintergrundfarbe 2
5401 [143]"tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(
5410 poke 53283,(peek(53283)+1) and 15
5420 goto 1100
5499 :
5600 rem verzeichniss
5601 rem"[163][163][163][163][163][163][163][163][163][163][163][163]
5605 [151] 49152[170]13,1
5610 [141] 6200
5620 [158] 49152
5625 [141] 17000
5630 [153]"stopdruecken sie eine tastewait";
5640 [161] a$:[139] a$[178]"" [167] 5640
5650 [141] 6100
5660 [137] 1100
5699 :
5800 [143] datei
5801 [143]"tab(tab(tab(tab(tab(
5810 poke 49152+13,4
5820 goto 5610
5999 :
6000 rem normal
6010 rem"[163][163][163][163][163][163]
6020 [151]648,4
6030 [151] 53248[170]24,21
6040 [151] 56576,151
6050 [153]"load auf wiedersehen"
6060 [128]
6070 :
6100 [143] gbildschirm
6101 [143]"tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(
6110 poke 648,128
6120 poke 56576,peek(56576) and 253
6130 poke 53248+24,2*1+16*0+2
6140 poke 648,128
6150 poke 254 ,0
6160 poke 253 ,11
6170 poke 251,0:poke252,152: :sys828
6174 poke 53281,3
6175 gosub 12000
6176 gosub 13000
6180 return
6190 :
6200 rem tbildschirm
6201 rem"[163][163][163][163][163][163][163][163][163][163][163]
6210 [151] 648,128
6220 [151] 56576,[194](56576) [175] 253
6230 [158]4096[172]14[170]256[172]5[170]10[172]16[170]0
6240 [151] 53248[170]24,2[172]1[170]16[172]0[170]2
6250 [151] 53280,6
6255 [151] 53281,11
6260 [153]"load"
6280 [142]
6290 :
9000 [143] filename einlesen
9030 t$[178]"filename"
9040 za[178]0:ma[178]12
9050 [141]14000
9090 [158] 57812 "@0:"[170]in$[170]".zsa,s",8:[143] filename und geraete adresse
9100 [142]
9110 :
10000 [143] initialisieren
10001 [143]"tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab("
10003 [158]4096[172]14[170]256[172]5[170]10[172]16[170]0
10005 [158]4096[172]14[170]256[172]5[170]10[172]16[170]0 :[151] 56576,151:[151] 53248[170]24,21
10007 [151] 648,4 :[153]"load"
10010 [153]" zeichensatzformer"
10020 [153]" (c) '84 by u. bachfischer"
10030 [153]" bitte warten sie"
10040 [151] 56,90:[151]55,0:[156]:[143] basic grenze
10050 v[178]53248
10053 [151] v[170]24,21
10055 bi[178]32768:[143] bildschirm
10100 [143] lade zeichen
10110 s[178]0:[129] i[178]51200[164]51242
10120 [135]x:[151]i,x:s[178]s[170]x:[130]
10130 [139] s[179][177]4657 [167][153]"data error":[144]:[128]
10140 [143] raster-interrupt
10150 s[178]0:[129] i[178]828 [164] 915
10160 [135]x:[151]i,x:s[178]s[170]x:[130]
10170 [139] s[179][177]11012[167][153]"data error":[144]:[128]
10180 [143] verzeichniss
10185 s[178]0:[129] i[178]49152 [164] 49260
10190 [135]x:[151]i,x:s[178]s[170]x:[130]
10200 [139] s[179][177]15614 [167][153]"data error":[144]:[128]
10210 [153]"zeichensatz ueberschreiben?"
10215 [151] 2,208:[143] hi-byte der urschprungsadresse
10220 [161] a$:[139] a$[178]"n" [167] 10250
10230 [139] a$[178]"" [167] 10220
10240 [158]51200
10250 :
10270 [141] 6100: [143] gbildschirm
10320 [143] ch=0 : rem momentales zeichen
10410 [137] 15000:[143] reset +start
10900 [171][171][171] zeichensatz ab 8800h [178] 34816
10910 [171][171][171] gbildschirm ab 8000h [178] 32768
10920 [171][171][171] tbildschirm ab 8400h [178] 33792
10921 :
11000 [143] zeichensatz kopieren
11001 [143]"tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(
11010 data 120,165,1,72,41,251,133,1,165,2,133,3
11020 data 169,136,133,5,160,0,132,2,132,4,162,8
11030 data 177,2,145,4,200,208,249,230,3,230,5,202
11040 data 208,242,104,133,1,88,96
11050 :
11100 rem rasterzeilen-interrupt
11101 rem"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]
11110 [131] 120,169,91,141,20,3,169,3,141,21,3,165
11120 [131] 251,141,18,208,173,17,208,41,127,141,17,208
11130 [131] 169,129,141,26,208,88,96,173,25,208,141,25
11140 [131] 208,41,1,208,7,173,13,220,88,76,49,234
11150 [131] 173,18,208,197,252,176,15,165,253,141,33,208,169,4:[143] wert1
11160 [131] 141,24,208,165,252,76,142,3,165,254,141,33
11170 [131] 208,169,2,141,24,208,165,251,141,18,208,76,188,254
11199 :
11200 [143] verzeichniss
11201 [143]"tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(
11210 data 169,36,133,251,169,105,133,187,169,192,133,188
11220 data 169,4,133,183,169,8,133,186,169,96,133,185
11230 data 32,213,243,165,186,32,180,255,165,185,32,150
11240 data 255,169,0,133,144,160,3,132,251,32,165,255
11250 data 133,252,164,144,208,47,32,165,255,164,144,208
11260 data 40,164,251,136,208,233,166,252,32,205,189,169
11270 data 32,32,210,255,32,165,255,166,144,208,18,170
11280 data 240,6,32,210,255,76,76,192,169,13,32,210
11290 data 255,160,2,208,198,32,66,246,96,36,42,61,83
11999 :
12000 rem bildschirm aufteilung
12010 poke 53280,9:poke53281,11
12020 print"[154][147]zeichensatz-former (c) by u.bachfischer"
12025 poke bi+39,160:poke 55296+39,0
12030 print" [186][186][186][186][186][186][186][186][186][175]
12040 [129] i[178]1 [164] 8
12050 [153]" sqr (NULL)
12060 next
12070 print" [207][207][207][207][207][207][207][207][207]
12100 a[178]2[174]15[170]18[172]40[170]24
12110 [129]i[178]0 [164] 255:[151]i[170]a,i:[130]
12200 c$[178]""
12210 [153]""
12220 [153]c$"esysnde"
12230 [153]c$"lsysaden"
12240 [153]c$"zsyseichnen"
12250 [153]c$"usysmkehren"
12260 [153]c$"dsysatei"
12270 [153]c$"ksysopieren"
12280 [153]c$
12290 [153]c$"f1sys _ menue"
12300 [153]c$"f3sys farbe 2"
12310 c$[178]""
12320 [153]""
12330 [153]c$"nsyseues zeichen"
12340 [153]c$"ssyspeichern"
12350 [153]c$"asyslte zeichen"
12360 [153]c$"vsyserzeichniss"
12370 [153]c$"msysehrfarbig ein"
12380 [153]c$"f5sys zeichenfarbe"
12390 [153]c$"f7sys hintergrund"
12400 [142]
13000 [143]print new char ch=char
13010 ad[178]34816[170]8[172]ch
13020 [153]""
13025 [153]"sys"[201](" "[170][196](ch),5)" "
13030 [129] i[178]0 [164]7
13035 [153]:[153]"";
13040 x[178][194](i[170]ad)
13050 [129] j[178]0 [164] 7
13060 [139] x [175] p(j)[167] [153]"*";:[137] 13080
13070 [153]" ";
13080 [130]:[130]
13090 xp[178]0:yp[178]0 :[143] cursorposition
13100 [141] 200
13120 p[178]14 [172]40[170]28
13130 [151]bi[170]p,ch
13140 [151]55296[170]p,7[170]8
13190 [142]
14000 [143] input string
14001 [143] t$=text ;ma=maximum;za=zahlflag
14002 [143] in$=string;l=laenge;in=zahl,wenn zahl
14010 [141] 300:x[178]12:y[178]11:[141] 250
14012 [153]""t$":stop andcmd";
14015 [139] za [167] x1[178]ma:ma[178][188](ma)[173][188](10)[170]1
14020 in$[178]"":l[178]0
14030 [161] a$:[139] a$[178]"" [167] 14030
14040 a[178][198](a$)
14050 [139] a[178]13 [167] 14300
14055 [139] a$[178]"input" [167] [141] 14400:[141] 16000:[137] 15000 [143] reset
14060 [139](a[179][177]20)[175](a[179][177]157)[167] 14100
14070 [139] l[178]0 [167] 14200
14080 l[178]l[171]1:in$[178][200](in$,l)
14090 [153]" cmdcmdandcmd";
14095 [137]14030
14100 [139] a[179]32 [176] a[177]127 [167] 14200
14120 [139] 1[171] za [167] 14150
14130 [139] a$[177]"9" [176] a$[179]"0" [167] 14200
14140 [139] [197](in$[170]a$)[177]x1 [167] 14200
14150 in$[178]in$[170]a$:l[178]l[170]1:[153]a$"andcmd";
14155 [139] l[178]ma [167] 14300
14160 [137] 14030
14200 si[178]54272
14210 [151]si[170]24,15
14220 [151]si[170]0 ,15 :[151]si[170]1,30
14230 [151]si[170]5 ,16[172]0[170]7
14240 [151]si[170]6 ,16[172]0[170]0
14250 [151]si[170]4 ,0:[151]si[170]4,17
14260 [137] 14030
14300 [139] l[178]0 [167] 14030
14310 in[178][197](in$)
14330 [137] 16000:clear [170] [142]
14400 [153]" cmd"[201]("cmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmd",l);
14410 [153][201](" ",l);
14420 [142]
14999 :
15000 [143] reset /fehler
15001 [143]"tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab("
15010 [151] 2,ch:[143] charakter retten
15020 [156]
15030 ch[178][194](2)
15040 v[178]53248
15050 p1[178]56321:[143] port1
15060 ze[178]34816:[143] zeichensatz anfang
15070 bi[178]32768:[143] bildschirm
15080 [129] i[178]0[164] 7:p(i)[178]2[174](7[171]i):[130]
15100 [137] 1000:[143] ruecksprung
15370 :
16000 [143] loesche zeile
16001 [143]"tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(
16010 print" "
16020 return
17000 rem errorkanal
17001 rem"[163][163][163][163][163][163][163][163][163][163]
17010 [160] 15:[159] 15,8,15
17020 [132]15,er,a$,b$,c$
17030 [139] er [178] 0 [167] [142]
17040 x[178]12:y[178]11:[141] 250
17050 [153]"stop"er"cmd "a$" "b$","c$
17060 [129] x[178]1 [164] 1000:[161] a$:[139] a$[178]"" [167] [130]
17070 [137] 16000:[143] clear + return