home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / sh1x / sh15b.d64 / directory.ass (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  14KB  |  607 lines

  1. 100 REM
  2. 110 REM WRITTEN BY UDO WOEHLER
  3. 120 REM
  4. 130 REM SYS49152,NA$,ZH%,FI$,BL%
  5. 140 REM         ,TY%,TR%,SE%,"PSRUD"
  6. 150 REM P = PROGRAMM     FILES
  7. 160 REM S = SEQUENTIELLE FILES
  8. 170 REM R = RELATIVE     FILES
  9. 180 REM U = USER         FILES
  10. 190 REM D = DELETED      FILES
  11. 200 REM
  12. 210 OPEN2,8,2,"@:DIRECTORY-LOAD,P,W"
  13. 220 SYS9*4096
  14. 230 .OPT P,O2
  15. 240 *= $C000
  16. 250 PROZ        = $7A
  17. 260 NCHR(null)T     = $0073
  18. 270 LCHR(null)T     = $0079
  19. 280 LET         = $A9A5
  20. 290 FRMEVL      = $AD9E
  21. 300 CHECKKOMMA  = $AEFD
  22. 310 SYNERR      = $AF08
  23. 320 PRUEBUCH    = $B113
  24. 330 FRESTR      = $B6A3
  25. 340 INTNAFAC    = $BC49
  26. 350 FACNASTRI   = $BDDF
  27. 360 IECOUT      = $FFA8
  28. 370 OPEN        = $FFC0
  29. 380 CLOSE       = $FFC3
  30. 390 CHKIN       = $FFC6
  31. 400 CKOUT       = $FFC9
  32. 410 CLRCH       = $FFCC
  33. 420 GET         = $FFE4
  34. 430 ; --------------------------------
  35. 440 LDA #$24           ;STRING VARIABLE
  36. 450 JSR SUCHVAR        ;SUCHEN
  37. 460 LDA FTEST          ;FLAG FUER VORHANDEN
  38. 470 STA FDISKNAME      ;SPEICHERN
  39. 480 LDA $45            ;VARIABLENNAME
  40. 490 LDX $46
  41. 500 STA DISKNAME       ;SPEICHERN
  42. 510 STX DISKNAME+1
  43. 520 LDA #$25           ;INTEGER VARIABLE
  44. 530 JSR SUCHVAR        ;SUCHEN
  45. 540 LDA FTEST          ;FLAG FUER VORHANDEN
  46. 550 STA FANZAHL        ;SPEICHERN
  47. 560 LDA $45            ;VARIABLENNAME
  48. 570 LDX $46
  49. 580 STA ANZAHL         ;SPEICHERN
  50. 590 STX ANZAHL+1
  51. 600 LDA #$24           ;STRING VARIABLE
  52. 610 JSR SUCHVAR        ;SUCHEN
  53. 620 LDA FTEST          ;FLAG FUER VORHANDEN
  54. 630 STA FFILENAME      ;SPEICHERN
  55. 640 LDA $45            ;VARIABLENNAME
  56. 650 LDX $46
  57. 660 STA FILENAME       ;SPEICHERN
  58. 670 STX FILENAME+1
  59. 680 LDA #$25           ;INTEGER VARIABLE
  60. 690 JSR SUCHVAR        ;SUCHEN
  61. 700 LDA FTEST          ;FLAG FUER VORHANDEN
  62. 710 STA FBLOECKE       ;SPEICHERN
  63. 720 LDA $45            ;VARIABLENNAME
  64. 730 LDX $46
  65. 740 STA BLOECKE        ;SPEICHERN
  66. 750 STX BLOECKE+1
  67. 760 LDA #$25           ;INTEGER VARIABLE
  68. 770 JSR SUCHVAR        ;SUCHEN
  69. 780 LDA FTEST          ;FLAG FUER VORHANDEN
  70. 790 STA FFILETYPEN     ;SPEICHERN
  71. 800 LDA $45            ;VARIABLENNAME
  72. 810 LDX $46
  73. 820 STA FILETYPEN      ;SPEICHERN
  74. 830 STX FILETYPEN+1
  75. 840 LDA #$25           ;INTEGER VARIABLE
  76. 850 JSR SUCHVAR        ;SUCHEN
  77. 860 LDA FTEST          ;FLAG FUER VORHANDEN
  78. 870 STA FFILETRACKS    ;SPEICHERN
  79. 880 LDA $45            ;VARIABLENNAME
  80. 890 LDX $46
  81. 900 STA FILETRACKS     ;SPEICHERN
  82. 910 STX FILETRACKS+1
  83. 920 LDA #$25           ;INTEGER VARIABLE
  84. 930 JSR SUCHVAR        ;SUCHEN
  85. 940 LDA FTEST          ;FLAG FUER VORHANDEN
  86. 950 STA FFILESECTORS   ;SPEICHERN
  87. 960 LDA $45            ;VARIABLENNAME
  88. 970 LDX $46
  89. 980 STA FILESECTORS    ;SPEICHERN
  90. 990 STX FILESECTORS+1
  91. 1000 JSR CHECKKOMMA     ;PRUEFT AUF KOMMA
  92. 1010 LDY #$05           ;TYPFLAGS MIT $FF
  93. 1020 LDA #$FF           ;FUELLEN
  94. 1030 INITFIND DEY
  95. 1040 STA FLATYP,Y
  96. 1050 INY
  97. 1060 DEY
  98. 1070 BNE INITFIND
  99. 1080 JSR FRMEVL         ;STRING HOLEN UND VOM
  100. 1090 JSR FRESTR         ;STRINGSTACK ENTFERNEN
  101. 1100 LDY #$00
  102. 1110 LDA ($64),Y        ;STRINGLAENGE
  103. 1120 STA TYLAN          ;SPEICHERN
  104. 1130 INY
  105. 1140 LDA ($64),Y       ;STRINGZEIGER
  106. 1150 STA $22           ;SPEICHERN
  107. 1160 INY
  108. 1170 LDA ($64),Y
  109. 1180 STA $23
  110. 1190 LDY #$00          ;ZEIGER AUF ERSTEN BST.
  111. 1200 TESTTYP LDX #$05  ;AUF CODE TESTEN
  112. 1210 NAETEST DEX
  113. 1220 LDA ($22),Y
  114. 1230 CMP TYP,X
  115. 1240 BEQ FINDTYP       ;GEFUNDEN
  116. 1250 DEX               ;NEIN NAECHSTEN CODE
  117. 1260 INX
  118. 1270 BNE NAETEST       ;SCHON LETZTER CODE
  119. 1280 JMP ENDFIND       ;JA,ENDE CODESUCHE
  120. 1290 FINDTYP TXA       ;CODE GEFUNDEN
  121. 1300 STA FLATYP,X      ;SPEICHERN
  122. 1310 INY               ;NAECHSTER BST.
  123. 1320 CPY TYLAN         ;SCHON LETZTER
  124. 1330 BNE TESTTYP       ;NEIN,WEITER SUCHEN
  125. 1340 ENDFIND LDA #$02  ;FILEPARAMETER SETZEN
  126. 1350 STA $B8
  127. 1360 STA $B9
  128. 1370 LDA #$08
  129. 1380 STA $BA
  130. 1390 LDA #$01
  131. 1400 STA $B7
  132. 1410 LDA #<DIREKT
  133. 1420 LDX #>DIREKT
  134. 1430 STA $BB
  135. 1440 STX $BC
  136. 1450 JSR OPEN          ;DIREKTKANAL OEFFNEN
  137. 1460 LDA #$0F          ;FILEPARAMETER SETZEN
  138. 1470 STA $B8
  139. 1480 STA $B9
  140. 1490 LDA #$08
  141. 1500 STA $BA
  142. 1510 LDA #$00
  143. 1520 STA $B7
  144. 1530 JSR OPEN          ;KOMMANDOKANAL OEFFNEN
  145. 1540 LDA #$12          ;ERSTER BLOCK 18/0 SETZEN
  146. 1550 STA TRACK
  147. 1560 LDA #$00
  148. 1570 STA SECTOR
  149. 1580 LDA FDISKNAME     ;DISKNAME GESUCHT
  150. 1590 BEQ NODISKN       ;NEIN,SPEICHERN UEBERGEHEN
  151. 1600 JSR READTRSE      ;BLOCK LESEN
  152. 1610 LDX #$02
  153. 1620 JSR CHKIN         ;EINGABE AUF DIREKTKANAL
  154. 1630 LDX #$90          ;ERSTEN 90 BYTE UEBERLESEN
  155. 1640 DUMMY1 JSR GET
  156. 1650 DEX
  157. 1660 BNE DUMMY1
  158. 1670 LDX #$00          ;DISKNAME+ID EINLESEN
  159. 1680 NOLZBU1 JSR GET
  160. 1690 BNE NONULLNAME
  161. 1700 LDA #$20
  162. 1710 NONULLNAME STA DISKNAME+5,X
  163. 1720 INX
  164. 1730 CPX #$10
  165. 1740 BEQ DUMMY3
  166. 1750 CPX #$12
  167. 1760 BNE NOLZBU1
  168. 1770 JMP ENDDISKN
  169. 1780 DUMMY3 JSR GET    ;2 BYTE UEBERLESEN
  170. 1790 JSR GET
  171. 1800 JMP NOLZBU1
  172. 1810 ENDDISKN JSR CLRCH;BUS FREIGEBEN
  173. 1820 LDA PROZ          ;ZEIGER AUF DISKNAME
  174. 1830 STA ZEIG
  175. 1840 LDA PROZ+1
  176. 1850 STA ZEIG+1
  177. 1860 LDA #<DISKNAME
  178. 1870 STA PROZ
  179. 1880 LDA #>DISKNAME
  180. 1890 STA PROZ+1
  181. 1900 JSR LET           ;DISKNAME UEBERNEHMEN
  182. 1910 LDA ZEIG          ;ZEIGER RUECKSETZEN
  183. 1920 STA PROZ
  184. 1930 LDA ZEIG+1
  185. 1940 STA PROZ+1
  186. 1950 NODISKN LDA #$01  ;BLOCK 18/1
  187. 1960 STA SECTOR
  188. 1970 LDA #$00          ;ANZAHL EINGELESENER
  189. 1980 STA ZAEHL         ;FILES RUECKSETZEN
  190. 1990 NAESEC JSR READTRSE;BLOCK LESEN
  191. 2000 LDX #$02          ;EINGABE AUF DIREKTKANAL
  192. 2010 JSR CHKIN
  193. 2020 JSR GET           ;NAECHSTEN BLOCK
  194. 2030 STA TRACK         ;MERKEN
  195. 2040 JSR GET
  196. 2050 STA SECTOR
  197. 2060 LDA #$08          ;ANZAHL EINTRAEGE
  198. 2070 STA EINTRAG       ;PRO BLOCK SETZEN
  199. 2080 NAETRAG JSR GET   ;FILETYP LESEN
  200. 2090 STA TYFLA
  201. 2100 JSR GET           ;ANFANGSTRACK LESEN
  202. 2110 STA $63           ;UND NACH STRING
  203. 2120 LDA FFILETRACKS   ;ANFANGSTRACK GEFRAGT
  204. 2130 BEQ NOTRA         ;NEIN,DANN UEBERGEHEN
  205. 2140 LDA #$00
  206. 2150 STA $62
  207. 2160 LDX #$90
  208. 2170 SEC
  209. 2180 JSR INTNAFAC      ;WANDELN
  210. 2190 JSR FACNASTRI
  211. 2200 CLC
  212. 2210 PHP
  213. 2220 LDX #$00          ;STRING SPEICHERN
  214. 2230 NOLZZIF1 LDA $0100,X
  215. 2240 PLP
  216. 2250 PHP
  217. 2260 BCS JANULL1
  218. 2270 CMP #$00
  219. 2280 BNE LETZZIF1
  220. 2290 PLP
  221. 2300 SEC
  222. 2310 PHP
  223. 2320 JANULL1 LDA #$20
  224. 2330 LETZZIF1 STA FILETRACKS+9,X
  225. 2340 INX
  226. 2350 CPX #$03
  227. 2360 BNE NOLZZIF1
  228. 2370 PLP
  229. 2380 NOTRA JSR GET     ;ANFANGSSEKTOR LESEN
  230. 2390 STA $63           ;UND NACH STRING
  231. 2400 LDA FFILESECTORS  ;ANFANGSSEKTORN GEFRAGT
  232. 2410 BEQ NOSEC         ;NEIN,DANN UEBERLESEN
  233. 2420 LDA #$00
  234. 2430 STA $62
  235. 2440 LDX #$90
  236. 2450 SEC
  237. 2460 JSR INTNAFAC      ;WANDELN
  238. 2470 JSR FACNASTRI
  239. 2480 CLC
  240. 2490 PHP
  241. 2500 LDX #$00          ;STRING SPEICHERN
  242. 2510 NOLZZIF2 LDA $0100,X
  243. 2520 PLP
  244. 2530 PHP
  245. 2540 BCS JANULL2
  246. 2550 CMP #$00
  247. 2560 BNE LETZZIF2
  248. 2570 PLP
  249. 2580 SEC
  250. 2590 PHP
  251. 2600 JANULL2 LDA #$20
  252. 2610 LETZZIF2 STA FILESECTORS+9,X
  253. 2620 INX
  254. 2630 CPX #$03
  255. 2640 BNE NOLZZIF2
  256. 2650 PLP
  257. 2660 NOSEC LDX #$00
  258. 2670 NOLZBU2 JSR GET   ;FILENAME LESEN
  259. 2680 BNE LETZZIF3      ;UND SPEICHERN
  260. 2690 LDA #$20
  261. 2700 LETZZIF3 STA FILENAME+10,X
  262. 2710 INX
  263. 2720 CPX #$10
  264. 2730 BNE NOLZBU2
  265. 2740 LDX #$09
  266. 2750 DUMMY2 JSR GET    ;9 BYTES UEBERLESEN
  267. 2760 DEX
  268. 2770 BNE DUMMY2
  269. 2780 JSR GET           ;ANZAHL BLOECKE
  270. 2790 STA $63           ;DES FILES LESEN
  271. 2800 JSR GET           ;UND IN STRING
  272. 2810 STA $62
  273. 2820 LDA FBLOECKE      ;BLOECKE GEFRAGT
  274. 2830 BEQ NOBLO         ;NEIN,DANN UEBERGEHEN
  275. 2840 LDX #$90
  276. 2850 SEC
  277. 2860 JSR INTNAFAC      ;WANDELN
  278. 2870 JSR FACNASTRI
  279. 2880 CLC
  280. 2890 PHP
  281. 2900 LDX #$00          ;STRING SPEICHERN
  282. 2910 NOLZZIF3 LDA $0100,X
  283. 2920 PLP
  284. 2930 PHP
  285. 2940 BCS JANULL3
  286. 2950 CMP #$00
  287. 2960 BNE LETZZIF4
  288. 2970 PLP
  289. 2980 SEC
  290. 2990 PHP
  291. 3000 JANULL3 LDA #$20
  292. 3010 LETZZIF4 STA BLOECKE+9,X
  293. 3020 INX
  294. 3030 CPX #$03
  295. 3040 BNE NOLZZIF3
  296. 3050 PLP
  297. 3060 NOBLO LDA FFILETYPEN;FILETYP GEFRAGT
  298. 3070 BEQ NOTYP         ;NEIN,DANN UEBERGEHEN
  299. 3080 LDX TYFLA         ;FILETYP HOLEN
  300. 3090 LDA #$00          ;UND NACH STRING
  301. 3100 STA $62
  302. 3110 STX $63
  303. 3120 LDX #$90
  304. 3130 SEC
  305. 3140 JSR INTNAFAC      ;WANDELN
  306. 3150 JSR FACNASTRI
  307. 3160 CLC
  308. 3170 PHP
  309. 3180 LDX #$00          ;STRING SPEICHERN
  310. 3190 NOLZZIF4 LDA $0100,X
  311. 3200 PLP
  312. 3210 PHP
  313. 3220 BCS JANULL4
  314. 3230 CMP #$00
  315. 3240 BNE LETZZIF5
  316. 3250 PLP
  317. 3260 SEC
  318. 3270 PHP
  319. 3280 JANULL4 LDA #$20
  320. 3290 LETZZIF5 STA FILETYPEN+9,X
  321. 3300 INX
  322. 3310 CPX #$03
  323. 3320 BNE NOLZZIF4
  324. 3330 PLP
  325. 3340 NOTYP LDA TYFLA   ;FILETYP
  326. 3350 AND #$07          ;AUF CODE TESTEN
  327. 3360 LDX #$00
  328. 3370 NOLETZTY CMP FLATYP,X
  329. 3380 BEQ TRAGEIN       ;GEFUNDEN,DANN EINTRAGEN
  330. 3390 INX
  331. 3400 CPX #$05
  332. 3410 BNE NOLETZTY      ;SCHON LETZTER CODE
  333. 3420 NAEEINTR DEC EINTRAG
  334. 3430 BEQ UNAESEC       ;LETZTER EINTRAG GELESEN
  335. 3440 JSR GET           ;NEIN,2 BYTE UEBERLESEN
  336. 3450 JSR GET           ;UND NAECHSTEN
  337. 3460 JMP NAETRAG       ;EINTRAG BEARBEITEN
  338. 3470 UNAESEC LDA TRACK ;SCHON LETZTER BLOCK
  339. 3480 CMP #$00
  340. 3490 BEQ ENDE          ;JA,DANN ENDE
  341. 3500 JMP NAESEC        ;NEIN,NAECHSTER BLOCK
  342. 3510 TRAGEIN LDX ZAEHL ;ZEIGER AUF
  343. 3520 LDA #$00          ;NAECHSTES FELDELEMENT
  344. 3530 STA $62           ;NACH STRING
  345. 3540 STX $63
  346. 3550 LDX #$90
  347. 3560 SEC
  348. 3570 JSR INTNAFAC      ;WANDELN
  349. 3580 JSR FACNASTRI
  350. 3590 CLC
  351. 3600 PHP
  352. 3610 LDX #$00          ;UND SPEICHERN
  353. 3620 NOLZZIF5 LDA $0100,X
  354. 3630 PLP
  355. 3640 PHP
  356. 3650 BCS JANULL5
  357. 3660 CMP #$00
  358. 3670 BNE LETZZIF6
  359. 3680 PLP
  360. 3690 SEC
  361. 3700 PHP
  362. 3710 JANULL5 LDA #$20
  363. 3720 LETZZIF6 STA FILENAME+4,X
  364. 3730 STA BLOECKE+4,X
  365. 3740 STA FILETYPEN+4,X
  366. 3750 STA FILETRACKS+4,X
  367. 3760 STA FILESECTORS+4,X
  368. 3770 INX
  369. 3780 CPX #$03
  370. 3790 BNE NOLZZIF5
  371. 3800 PLP
  372. 3810 INC ZAEHL         ;ZEIGER ERHOEHEN
  373. 3820 JSR DOLET         ;VARIABLEN UEBERNEHMEN
  374. 3830 JMP NAEEINTR      ;WEITER NAECHSTER EINTRAG
  375. 3840 ENDE LDA FANZAHL  ;ANZAHL GEFRAGT
  376. 3850 BEQ NOANZAHL      ;NEIN,DANN UEBERGEHEN
  377. 3860 LDA ZAEHL         ;ANZAHL ELEMENTE
  378. 3870 STA $63           ;NACH STRING
  379. 3880 LDA #$00
  380. 3890 STA $62
  381. 3900 LDX #$90
  382. 3910 SEC
  383. 3920 JSR INTNAFAC      ;WANDELN
  384. 3930 JSR FACNASTRI
  385. 3940 CLC
  386. 3950 PHP
  387. 3960 LDX #$00          ;UND SPEICHERN
  388. 3970 NOLZZIF6 LDA $0100,X
  389. 3980 PLP
  390. 3990 PHP
  391. 4000 BCS JANULL6
  392. 4010 CMP #$00
  393. 4020 BNE LETZZIF7
  394. 4030 PLP
  395. 4040 SEC
  396. 4050 PHP
  397. 4060 JANULL6 LDA #$20
  398. 4070 LETZZIF7 STA ANZAHL+4,X
  399. 4080 INX
  400. 4090 CPX #$03
  401. 4100 BNE NOLZZIF6
  402. 4110 PLP
  403. 4120 LDA PROZ          ;ZEIGER AUF ANZAHL
  404. 4130 STA ZEIG          ;SETZEN
  405. 4140 LDA PROZ+1
  406. 4150 STA ZEIG+1
  407. 4160 LDA #<ANZAHL
  408. 4170 STA PROZ
  409. 4180 LDA #>ANZAHL
  410. 4190 STA PROZ+1
  411. 4200 JSR LET           ;UND UEBERNEHMEN
  412. 4210 LDA ZEIG          ;ZEIGER RUECKSETZEN
  413. 4220 STA PROZ
  414. 4230 LDA ZEIG+1
  415. 4240 STA PROZ+1
  416. 4250 NOANZAHL JSR CLRCH;BUS FREIGEBEN
  417. 4260 LDA #$02          ;KANAELE SCHLIESSEN
  418. 4270 JSR CLOSE
  419. 4280 LDA #$0F
  420. 4290 JSR CLOSE
  421. 4300 RTS               ;ENDE
  422. 4310 ; --------------------------------
  423. 4320 READTRSE LDX TRACK;TRACKNUMMER
  424. 4330 LDA #$00          ;NACH STRING
  425. 4340 STA $62
  426. 4350 STX $63
  427. 4360 JSR CLRCH
  428. 4370 LDX #$90
  429. 4380 SEC
  430. 4390 JSR INTNAFAC      ;WANDELN
  431. 4400 JSR FACNASTRI
  432. 4410 LDA $0100         ;UND SPEICHERN
  433. 4420 STA BREAD+9
  434. 4430 LDA $0101
  435. 4440 CMP #$00
  436. 4450 BNE NONULLTR
  437. 4460 LDA #$20
  438. 4470 NONULLTR STA BREAD+10
  439. 4480 LDX SECTOR        ;SEKTORNUMMER
  440. 4490 LDA #$00          ;NACH STRING
  441. 4500 STA $62
  442. 4510 STX $63
  443. 4520 LDX #$90
  444. 4530 SEC
  445. 4540 JSR INTNAFAC      ;WANDELN
  446. 4550 JSR FACNASTRI
  447. 4560 LDA $0100         ;UND SPEICHERN
  448. 4570 STA BREAD+12
  449. 4580 LDA $0101
  450. 4590 CMP #$00
  451. 4600 BNE NONULLSEC
  452. 4610 LDA #$20
  453. 4620 NONULLSEC STA BREAD+13
  454. 4630 LDX #$0F          ;AUSGABE AUF KOMMANDOK.
  455. 4640 JSR CKOUT
  456. 4650 LDY #$00          ;U1(B-R) UND B-P SENDEN
  457. 4660 SENDZEI LDA BREAD,Y
  458. 4670 BEQ ENDSEND
  459. 4680 JSR IECOUT
  460. 4690 CMP #$0D
  461. 4700 BNE NORETURN
  462. 4710 JSR ENDBEF
  463. 4720 NORETURN INY
  464. 4730 BNE SENDZEI
  465. 4740 ENDSEND JSR CLRCH ;BUS FREIGEBEN
  466. 4750 RTS               ;UND ZURUECK
  467. 4760 ENDBEF JSR CLRCH
  468. 4770 LDX #$0F
  469. 4780 JSR CKOUT
  470. 4790 RTS
  471. 4800 ; --------------------------------
  472. 4810 SUCHVAR PHA       ;GESUCHTEN TYP SICHERN
  473. 4820 JSR CHECKKOMMA    ;AUF KOMMA TESTEN
  474. 4830 JSR LCHR(null)T       ;1.BST. HOLEN
  475. 4840 STA $45
  476. 4850 LDX #$00          ;FLAG AUF VORHANDEN
  477. 4860 STX FTEST         ;RUECKSETZEN
  478. 4870 CMP #$2C          ;NICHT VORHANDEN
  479. 4880 BEQ FERTIG        ;DANN FERTIG
  480. 4890 JSR LCHR(null)T
  481. 4900 JSR PRUEBUCH      ;AUF BST. TESTEN
  482. 4910 BCS BUCH          ;JA,DANN WEITER
  483. 4920 ERROR JMP SYNERR  ;NEIN,DANN ERROR
  484. 4930 BUCH LDX #$20
  485. 4940 JSR NCHR(null)T       ;NAECHSTES ZEICHEN
  486. 4950 BCC ZIFFER1       ;ZIFFER,DANN UEBERNEHMEN
  487. 4960 JSR PRUEBUCH      ;AUF BST. TESTEN
  488. 4970 BCC NOBUCH        ;NEIN,DANN WEITER
  489. 4980 ZIFFER1 TAX       ;JA,DANN UEBERNEHMEN
  490. 4990 ZIFFER2 JSR NCHR(null)T;NAECHSTE ZEICHEN
  491. 5000 BCC ZIFFER2       ;UEBERLESEN
  492. 5010 JSR PRUEBUCH
  493. 5020 BCS ZIFFER2
  494. 5030 NOBUCH PLA        ;GESUCHTER TYP
  495. 5040 STA $46           ;SPEICHERN
  496. 5050 JSR LCHR(null)T       ;GLEICH LETZTEM
  497. 5060 CMP $46           ;ZEICHEN
  498. 5070 BNE ERROR         ;NEIN,DANN ERROR
  499. 5080 JSR NCHR(null)T
  500. 5090 STX $46           ;2.BST SPEICHERN
  501. 5100 LDX #$FF          ;FLAG FUER VORHANDEN
  502. 5110 STX FTEST         ;SETZEN
  503. 5120 RTS               ;UND FERTIG
  504. 5130 FERTIG PLA
  505. 5140 RTS               ;FERTIG
  506. 5150 ; --------------------------------
  507. 5160 DOLET LDA PROZ    ;ZEIGER AUF
  508. 5170 STA ZEIG
  509. 5180 LDA PROZ+1
  510. 5190 STA ZEIG+1
  511. 5200 LDA #<FILENAME    ;FILENAME SETZEN
  512. 5210 STA PROZ
  513. 5220 LDA #>FILENAME
  514. 5230 STA PROZ+1
  515. 5240 LDA FFILENAME     ;FILENAME GEFRAGT
  516. 5250 BEQ NOFILENAME    ;NEIN,DANN UEBERGEHEN
  517. 5260 JSR LET           ;JA,DANN UEBERNEHMEN
  518. 5270 JSR NCHR(null)T
  519. 5280 NOFILENAME LDA FBLOECKE;BLOECKE GEFRAGT
  520. 5290 BEQ NOBLOECKE     ;NEIN,DANN UEBERGEHEN
  521. 5300 LDA #<BLOECKE     ;JA,DANN UEBERNEHMEN
  522. 5310 STA PROZ
  523. 5320 LDA #>BLOECKE
  524. 5330 STA PROZ+1
  525. 5340 JSR LET
  526. 5350 JSR NCHR(null)T
  527. 5360 NOBLOECKE LDA FFILETYPEN;FILETYP GEFRAGT
  528. 5370 BEQ NOFILETYPEN   ;NEIN,DANN UEBERGEHEN
  529. 5380 LDA #<FILETYPEN   ;JA,DANN UEBERNEHMEN
  530. 5390 STA PROZ
  531. 5400 LDA #>FILETYPEN
  532. 5410 STA PROZ+1
  533. 5420 JSR LET
  534. 5430 JSR NCHR(null)T
  535. 5440 NOFILETYPEN LDA FFILETRACKS;ANFANGSTRACK GEFRAGT
  536. 5450 BEQ NOFILETRACKS  ;NEIN,DANN UEBERGEHEN
  537. 5460 LDA #<FILETRACKS  ;JA,DANN UEBERNEHMEN
  538. 5470 STA PROZ
  539. 5480 LDA #>FILETRACKS
  540. 5490 STA PROZ+1
  541. 5500 JSR LET
  542. 5510 JSR NCHR(null)T
  543. 5520 NOFILETRACKS LDA FFILESECTORS;ANFANGSSEKTORN GEFRAGT
  544. 5530 BEQ NOFILESECTORS ;NEIN,DANN UEBERLESEN
  545. 5540 LDA #<FILESECTORS ;JA,DANN UEBERNEHMEN
  546. 5550 STA PROZ
  547. 5560 LDA #>FILESECTORS
  548. 5570 STA PROZ+1
  549. 5580 JSR LET
  550. 5590 NOFILESECTORS LDA ZEIG;ZEIGER RUECKSETZEN
  551. 5600 STA PROZ
  552. 5610 LDA ZEIG+1
  553. 5620 STA PROZ+1
  554. 5630 RTS
  555. 5640 ; --------------------------------
  556. 5650 ZEIG .BYTE 00,00      ;ZWISCHENSPEICHER DES PROGRAMMS
  557. 5660 FILENAME .ASC  "  $(   )";FELD FUER LET-ANWEISUNGEN
  558. 5670 .BYTE $B2,$22
  559. 5680 .ASC  "                "
  560. 5690 .BYTE $22,$AA,$22,$22,$00
  561. 5700 ANZAHL .ASC  "  %"
  562. 5710 .BYTE $B2
  563. 5720 .ASC  "   "
  564. 5730 .BYTE $00
  565. 5740 BLOECKE .ASC  "  %(   )"
  566. 5750 .BYTE $B2
  567. 5760 .ASC  "   "
  568. 5770 .BYTE $00
  569. 5780 FILETYPEN .ASC  "  %(   )"
  570. 5790 .BYTE $B2
  571. 5800 .ASC  "   "
  572. 5810 .BYTE $00
  573. 5820 FILETRACKS .ASC  "  %(   )"
  574. 5830 .BYTE $B2
  575. 5840 .ASC  "   "
  576. 5850 .BYTE $00
  577. 5860 FILESECTORS .ASC  "  %(   )"
  578. 5870 .BYTE $B2
  579. 5880 .ASC  "   "
  580. 5890 .BYTE $00
  581. 5900 DISKNAME .ASC  "  $"
  582. 5910 .BYTE $B2,$22
  583. 5920 .ASC  "                  "
  584. 5930 .BYTE $22,$AA,$22,$22
  585. 5940 .BYTE $00
  586. 5950 TYP .ASC "DSPUR"      ;TYP-CODES
  587. 5960 DIREKT .ASC "#"       ;FELD FUER DISK-KOMMANDOS
  588. 5970 BREAD .ASC "U1: 2  0      "
  589. 5980 .BYTE $0D
  590. 5990 .ASC "B-P 2  0"
  591. 6000 .BYTE $0D,$00
  592. 6010 FLATYP  .BYTE $00,$00,$00,$00,$00;ZWISCHENSPEICHER
  593. 6020 TRACK   .BYTE $00
  594. 6030 SECTOR  .BYTE $00
  595. 6040 ZAEHL   .BYTE $00
  596. 6050 EINTRAG .BYTE $00
  597. 6060 TYFLA   .BYTE $00
  598. 6070 TYLAN   .BYTE $00
  599. 6080 FTEST   .BYTE $00
  600. 6090 FFILENAME    .BYTE $00
  601. 6100 FBLOECKE     .BYTE $00
  602. 6110 FFILETYPEN   .BYTE $00
  603. 6120 FFILETRACKS  .BYTE $00
  604. 6130 FFILESECTORS .BYTE $00
  605. 6140 FDISKNAME    .BYTE $00
  606. 6150 FANZAHL      .BYTE $00
  607.