home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / 90xx / 9007a.d64 / ss-directory.src (.txt) < prev   
Commodore BASIC  |  1995-03-30  |  3KB  |  66 lines

  1. 1000 REM ******************************
  2. 1010 REM * SHORT-DIRECTORY (64 BYTES) *
  3. 1020 REM *----------------------------*
  4. 1030 REM *     WRITTEN IN 1990 BY     *
  5. 1040 REM *       THOMAS  BINDER       *
  6. 1050 REM ******************************
  7. 1060 :
  8. 1070 REM *** QUELLTEXT (PROFI-ASS) ***
  9. 1080 :
  10. 1090 SYS 9*4096
  11. 1100 .OPT OO
  12. 1110 *=$C000
  13. 2000 ;
  14. 2010 ;*** BETRIEBSSYSTEM-ROUTINEN ***
  15. 2020 ;
  16. 2030 TALK   = $FFB4 ; GERAET AM SERIELLEN BUS AUF SENDEN
  17. 2040 TKSA   = $FF96 ; SEKUNDAERADRESSE NACH TALK
  18. 2050 BUSIN  = $FFA5 ; ZEICHEN VOM BUS EINLESEN
  19. 2060 CHROUT = $FFD2 ; ZEICHEN (AUF BILDSCHIRM) AUSGEBEN
  20. 2070 OPENI  = $F3D5 ; FILE FUER SERIELLEN BUS OEFFNEN
  21. 2080 CLOSEI = $F642 ; FILE FUER SERIELLEN BUS SCHLIESSEN
  22. 2090 LINPRT = $BDCD ; ZAHL IN X/A ALS DEZIMALZAHL AUSGEBEN
  23. 2100 PRTSPC = $AB3F ; SPACE AUSGEBEN
  24. 2110 CRDO   = $AAD7 ; CARRIAGE RETURN AUSFUEHREN
  25. 2220 ILLERR = $B248 ; 'ILLEGAL QUANTITY  ERROR' AUSGEBEN
  26. 2230 ;
  27. 2240 ;*** BENOETIGTE ADRESSEN ***
  28. 2250 ;
  29. 2260 SEKADR = 185   ; AKTUELLE SEKUNDAERADRESSE
  30. 2270 GERADR = 186   ; AKTUELLE GERAETEADRESSE
  31. 2280 ST     = 144   ; STATUS DES SERIELLEN PORTS
  32. 2290 STOP   = 145   ; ADRESSE FUER STOP-TASTE
  33. 2300 SHIFT  = 653   ; ADRESSE FUER SHIFT/C=/CTRL
  34. 3000 ;
  35. 3010 ;*** DIRECTORY-ROUTINE ***
  36. 3020 ;***    RELOKATIBEL    ***
  37. 3030 ;
  38. 3060 JSR 57812      ; FILENAMEN EINLESEN
  39. 3110 LDY #0         ; SEKUNDAERADRESSE AUF 'LESEN'
  40. 3120 STY SEKADR     ; SCHALTEN
  41. 3130 JSR OPENI      ; (DIRECTORY-)FILE OEFFNEN
  42. 3140 LDA GERADR     ; FLOPPY
  43. 3150 JSR TALK       ; AUF
  44. 3160 LDA #96        ; SENDEN
  45. 3170 JSR TKSA       ; SCHALTEN
  46. 3180 LDY #5         ; 6 BYTE (BEI BEGINN, STARTADRESSE, LINKADRESSE, BLOCKS)
  47. 3190 .BYT $2C       ; 'GETARNTER' BIT-BEFEHL, ZUM UEBERSPRINGEN VON 'LDY #3'
  48. 3200 L1 LDY #3      ; 4 BYTE (SPAETER, NUR LINKADRESSE UND BLOCKS)
  49. 3210 L5 TAX         ; LETZTES GELESENES BYTE INS X-REGISTER
  50. 3220 JSR BUSIN      ; NEUES BYTE EINLESEN
  51. 3230 DEY            ; SCHON 6/4 BYTE GELESEN?
  52. 3240 BPL L5         ; WENN NICHT, DANN WIEDER NACH L5
  53. 3250 LDA ST         ; STATUS NOCH OK?
  54. 3260 BNE L4         ; WENN NICHT, DANN NACH L4
  55. 3270 JSR LINPRT     ; BLOCKS AUSGEBEN (BEFINDEN SICH IN X/A!)
  56. 3280 JSR PRTSPC     ; LEERSCHRITT AUSGEBEN
  57. 3290 L2 JSR BUSIN   ; BYTE EINLESEN
  58. 3300 BEQ L3         ; GLEICH 0 (= ENDE DES EINTRAGS)? WENN JA, DANN NACH L3
  59. 3310 LDX ST         ; STATUS NOCH OK?
  60. 3320 BNE L3         ; WENN NICHT, DANN NACH L3
  61. 3330 JSR CHROUT     ; ZEICHEN AUSGEBEN
  62. 3340 BNE L2         ; UND GLEICH WIEDER NACH L2, DA ZEICHEN AUF JEDEN FALL <>0
  63. 3350 L3 JSR CRDO    ; CARRIAGE RETURN AUSFUEHREN
  64. 3380 BCC L1         ; WIEDER NACH L1, DA NACH CRDO CARRY-FLAG GELOESCHT
  65. 3400 L4 JMP CLOSEI  ; FILE SCHLIESSEN UND ENDE
  66.