home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er Special 25
/
64er_Magazin_Sonderheft_25_19xx_Markt__Technik_de.d64
/
univ.lader.init
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
3KB
|
103 lines
10 rem *************************
20 rem * *
30 rem * universal lader *
40 rem * *
50 rem * initialisierung *
60 rem * *
70 rem * *
80 rem * von uwe gerlach *
85 rem * *
90 rem *************************
95 rem
200 print"[147]"chr$(14): poke 53280,0: poke 53281,0
210 print"[154] [213]niversallader [201]nitialisierung"
220 print:print"[152][196]ieses [208]rogramm ergaenzt den [213]niversal-"
222 print"lader, der ein automatisches [193]uswahl-"
224 print"menue jeder [196]iskette erstellt."
226 print"[197]r sollte immer an erster [211]telle des"
227 print"[196]irectorys stehen, um leicht aufgerufen"
228 print"werden zu koennen."
229 print"[194]eide [208]rogramme wurden geschrieben von:"
230 print:print," [213]we [199]erlach",,," [194]ruehlstr. 23",,," 6440 [194]ebra 1[152]"
240 print:print"[196]ieser [212]eil dient zum einmaligen [198]estle-";
250 print"gen der [197]intraege, die beim [211]tarten des"
260 print"[213]niversalladers aufgefuehrt werden sol-"
270 print"len. ([205]it [202][152], [206][152] und [211][152] auswaehlen."
280 print"<[210]et.>[152] fuer alten [218]ustand, ^[152] geht zu-"
290 print"rueck und [209][152] bricht ab.)"
300 dim n(144)
310 poke 649,1: rem tastaturpuffer
320 poke 650,128: rem tastaturpuffer
400 print:print"[154][194]itte [196]isk einlegen und [212]aste druecken ![152]"
500 get a$: if a$="" then 500
510 print: print chr$(142);"[147]titel dieser diskette: ";: rem reverse on
1000 open 1,8,15 : rem kommandos
1010 open 2,8,2,"#" : rem puffer
1020 print#1, "u1 2 0 18 0"
1030 print#1, "b-p 2 144"
1040 for j=1 to 16
1050 : get#2, a$
1060 : if a$=chr$(160) then 2000
1070 : print a$;
1080 next j
2000 print:print"[146][152]": rem reverse off
2020 t=18 : rem track
2030 s=1 : rem sector
3000 print#1, "u1: 2 0";t;s: rem lesen
3010 for j=0 to 224 step 32
3011 : print#1, "b-p:"2,str$(j+2)
3014 : get#2, a$: rem filetyp holen
3016 : if a$="" then 3690
3020 : print#1, "b-p:"2,str$(j+24)
3030 : get#2, a$: rem markierung holen
3035 : m$=" ja ": v$="j"
3040 : if a$=chr$(128) then m$="nein": v$=a$
3042 : if a$="n" then m$="skip": v$="n"
3045 : m$=""+m$+"[157][157][157][157][146][152]"
3050 : print#1, "b-p:"2,str$(j+5)
3060 : n$=""
3070 : for k=1 to 16
3080 : get#2, a$: rem filenamen holen
3090 : if a$=chr$(160) then 3300
3100 : n$=n$+a$
3110 : next k
3300 : print "[154]";n$; tab(18); "(j/n/s)[146] ";
3330 : get a$
3332 : if j<>0 then if a$="^" then j=j-32: print" [145][145]" : goto 3011
3335 : if a$="q" then 5000
3337 : z=z+1: if z>6 then print"";
3339 : print m$;: if z>12 then z=0
3345 : if a$="j" or a$="y" then 7050
3347 : if a$="" then goto 3330
3350 : if a$="s" then v$="n": print"skip": goto 3400: rem ueberspringen
3360 : if a$=chr$(13) then print m$: goto 3400: bei return
3370 : v$=chr$(128): print"nein"
3400 : print#1, "b-p:"2,str$(j+24)
3410 : print#2, v$;: rem markieren
3690 next j
3700 print#1, "u2 2 0" t;s
4000 print#1, "b-p: 2 0"
4010 get#2, a$, b$
4020 t=asc(a$+chr$(0))
4030 s=asc(b$+chr$(0))
4040 if t<>0 then 3000: rem next block
5000 close 1: close 2
6000 print:print:print"noch eine diskette?"
6010 get a$: if a$="" then 6010
6020 if a$="j" then print"[147]";chr$(14): goto 400
6050 end
7000 :
7010 rem ** startadresse feststellen **
7020 :
7050 print" ja ";
7070 open 3,8,3,n$: rem file zum lesen oeffnen
7100 get#3,sl$: sl=asc(sl$+chr$(0)): rem startbyte low
7110 get#3,sh$: sh=asc(sh$+chr$(0)): rem startbyte high
7190 close 3
7210 print"sa "; left$(str$(sh*256+sl)+" ",6);
7220 input"[157][157][157][157][157][157][157]";sa: rem startadresse
7250 sh=int(sa/256): rem highbyte
7260 sl=sa-sh*256: rem lowbyte
7900 v$=chr$(0)+chr$(sl)+chr$(sh): rem markierung vorbereiten
7990 goto 3400