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 >
Commodore BASIC  |  2022-10-26  |  3KB  |  103 lines

  1. 10 rem  *************************
  2. 20 rem  *                       *
  3. 30 rem  *    universal lader    *
  4. 40 rem  *                       *
  5. 50 rem  *    initialisierung    *
  6. 60 rem  *                       *
  7. 70 rem  *                       *
  8. 80 rem  *    von uwe gerlach    *
  9. 85 rem  *                       *
  10. 90 rem  *************************
  11. 95 rem
  12. 200 print"[147]"chr$(14): poke 53280,0: poke 53281,0
  13. 210 print"[154]     [213]niversallader [201]nitialisierung"
  14. 220 print:print"[152][196]ieses [208]rogramm ergaenzt den [213]niversal-"
  15. 222 print"lader, der ein automatisches [193]uswahl-"
  16. 224 print"menue jeder [196]iskette erstellt."
  17. 226 print"[197]r sollte immer an erster [211]telle des"
  18. 227 print"[196]irectorys stehen, um leicht aufgerufen"
  19. 228 print"werden zu koennen."
  20. 229 print"[194]eide [208]rogramme wurden geschrieben von:"
  21. 230 print:print,"  [213]we [199]erlach",,,"  [194]ruehlstr. 23",,,"  6440 [194]ebra 1[152]"
  22. 240 print:print"[196]ieser [212]eil dient zum einmaligen [198]estle-";
  23. 250 print"gen der [197]intraege, die beim [211]tarten des"
  24. 260 print"[213]niversalladers aufgefuehrt werden sol-"
  25. 270 print"len. ([205]it [202][152], [206][152] und [211][152] auswaehlen."
  26. 280 print"<[210]et.>[152] fuer alten [218]ustand, ^[152] geht zu-"
  27. 290 print"rueck und [209][152] bricht ab.)"
  28. 300 dim n(144)
  29. 310 poke 649,1: rem  tastaturpuffer
  30. 320 poke 650,128: rem  tastaturpuffer
  31. 400 print:print"[154][194]itte [196]isk einlegen und [212]aste druecken ![152]"
  32. 500 get a$: if a$="" then 500
  33. 510 print: print chr$(142);"[147]titel dieser diskette: ";: rem  reverse on
  34. 1000 open 1,8,15    : rem  kommandos
  35. 1010 open 2,8,2,"#" : rem  puffer
  36. 1020 print#1, "u1 2 0 18 0"
  37. 1030 print#1, "b-p 2 144"
  38. 1040 for j=1 to 16
  39. 1050 : get#2, a$
  40. 1060 : if a$=chr$(160) then 2000
  41. 1070 : print a$;
  42. 1080 next j
  43. 2000 print:print"[146][152]": rem  reverse off
  44. 2020 t=18           : rem  track
  45. 2030 s=1            : rem  sector
  46. 3000 print#1, "u1: 2 0";t;s: rem  lesen
  47. 3010 for j=0 to 224 step 32
  48. 3011 : print#1, "b-p:"2,str$(j+2)
  49. 3014 : get#2, a$: rem  filetyp holen
  50. 3016 : if a$="" then 3690
  51. 3020 : print#1, "b-p:"2,str$(j+24)
  52. 3030 : get#2, a$: rem  markierung holen
  53. 3035 : m$=" ja ": v$="j"
  54. 3040 : if a$=chr$(128) then m$="nein": v$=a$
  55. 3042 : if a$="n" then m$="skip": v$="n"
  56. 3045 : m$=""+m$+"[157][157][157][157][146][152]"
  57. 3050 : print#1, "b-p:"2,str$(j+5)
  58. 3060 : n$=""
  59. 3070 : for k=1 to 16
  60. 3080 :  get#2, a$: rem  filenamen holen
  61. 3090 :  if a$=chr$(160) then 3300
  62. 3100 :  n$=n$+a$
  63. 3110 : next k
  64. 3300 : print "[154]";n$; tab(18); "(j/n/s)[146] ";
  65. 3330 : get a$
  66. 3332 : if j<>0 then if a$="^" then j=j-32: print"    [145][145]"  : goto 3011
  67. 3335 : if a$="q" then 5000
  68. 3337 : z=z+1: if z>6 then print"";
  69. 3339 : print m$;: if z>12 then z=0
  70. 3345 : if a$="j" or a$="y" then 7050
  71. 3347 : if a$="" then goto 3330
  72. 3350 : if a$="s" then v$="n": print"skip": goto 3400: rem ueberspringen
  73. 3360 : if a$=chr$(13) then print m$: goto 3400: bei return
  74. 3370 : v$=chr$(128): print"nein"
  75. 3400 : print#1, "b-p:"2,str$(j+24)
  76. 3410 : print#2, v$;: rem  markieren
  77. 3690 next j
  78. 3700 print#1, "u2 2 0" t;s
  79. 4000 print#1, "b-p: 2 0"
  80. 4010 get#2, a$, b$
  81. 4020 t=asc(a$+chr$(0))
  82. 4030 s=asc(b$+chr$(0))
  83. 4040 if t<>0 then 3000: rem  next block
  84. 5000 close 1: close 2
  85. 6000 print:print:print"noch eine diskette?"
  86. 6010 get a$: if a$="" then 6010
  87. 6020 if a$="j" then print"[147]";chr$(14): goto 400
  88. 6050 end
  89. 7000 :
  90. 7010 rem ** startadresse feststellen **
  91. 7020 :
  92. 7050 print" ja ";
  93. 7070 open 3,8,3,n$: rem file zum lesen oeffnen
  94. 7100 get#3,sl$: sl=asc(sl$+chr$(0)): rem startbyte low
  95. 7110 get#3,sh$: sh=asc(sh$+chr$(0)): rem startbyte high
  96. 7190 close 3
  97. 7210 print"sa "; left$(str$(sh*256+sl)+"     ",6);
  98. 7220 input"[157][157][157][157][157][157][157]";sa: rem startadresse
  99. 7250 sh=int(sa/256): rem highbyte
  100. 7260 sl=sa-sh*256: rem lowbyte
  101. 7900 v$=chr$(0)+chr$(sl)+chr$(sh): rem markierung vorbereiten
  102. 7990 goto 3400
  103.