home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / 84xx / 8410.d64 / eddi_diskmon (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  4KB  |  143 lines

  1. 10 REMEDDI - DISKMONITOR/EDITOR
  2. 20 REM         VON
  3. 30 REMKARSTEN SCHRAMM (C) 1984
  4. 40 REM GESCHUETZTE VERSION
  5. 50 PRINT"[147][144]":POKE53280,14:POKE53281,14
  6. 60 GOSUB10000
  7. 70 OPEN1,8,15,"I0":OPEN2,8,2,"#"
  8. 80 PRINT"[147] E D D I  -  HAUPTMENUE"
  9. 85 HE$="BYTE      DEC   HEX   BIN        ASC":POKE650,128
  10. 90 PRINT" [197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197]"
  11. 100 PRINT:PRINT:PRINT
  12. 110 PRINT"(F1) - SCROLLING VORWAERTS":PRINT
  13. 120 PRINT"(F2) - SCROLLING RUECKWAERTS":PRINT
  14. 130 PRINT"(F3) - BLOCK LESEN":PRINT
  15. 140 PRINT"(F4) - BLOCK SCHREIBEN":PRINT
  16. 150 PRINT"(F5) - EDITOR EINSCHALTEN":PRINT
  17. 160 PRINT"(F6) - DISKETTE WECHSELN":PRINT
  18. 170 PRINT"(F7) - RUECKKEHR INS MENUE":PRINT
  19. 180 PRINT"(F8) - PROGRAMMENDE"
  20. 190 PO=1:GOTO 9000
  21. 1000 REM EDDI AN
  22. 1010 X=0:Y=0
  23. 1020 FORY=ETO255STEP16
  24. 1030 PO=2:PRINT"[147]EDITOR-MODUS FUER TRACK"T" SEKTOR"S
  25. 1040 PRINT:PRINTHE$:PRINT
  26. 1050 FORX=YTOY+15:PRINTX:NEXTX
  27. 1060 PRINT"":FORX=YTOY+15
  28. 1065 DA=PEEK(50000+X):GOSUB7030:PRINTX,OU$
  29. 1070 INPUT"[145]";IN$:IFIN$=""THEN1090
  30. 1072 IFLEFT$(IN$,1)="^"THENPRINT"":GOTO9000
  31. 1073 IFLEFT$(IN$,1)="_"THENPRINT"":GOTO1125
  32. 1075 DA=VAL(LEFT$(IN$,3)):IFDA>255ORDA<0THENPRINT"[145][145]":GOTO1065
  33. 1080 POKE50000+X,DA
  34. 1120 NEXTX:PRINT
  35. 1125 PRINT"EINGABE ?";
  36. 1130 GETA$:IFA$=""THEN1130
  37. 1140 IFA$="[133]"THEN1200
  38. 1150 IFA$="[137]"THEN1300
  39. 1160 IFA$<>" "THENNEXTY
  40. 1170 PO=1:GOTO9000
  41. 1200 PRINT"":PRINTE".....???"
  42. 1210 GETA$:IFA$=""THEN1210
  43. 1215 IFA$="[137]"THEN1300
  44. 1220 IFA$<>"[133]"THEN1020
  45. 1230 E=E+16:IFE>255THENE=0
  46. 1240 GOTO1200
  47. 1300 PRINT"":PRINTE".....???"
  48. 1310 GETA$:IFA$=""THEN1310
  49. 1315 IFA$="[133]"THEN1200
  50. 1320 IFA$<>"[137]"THEN1020
  51. 1330 E=E-16:IFE<0THENE=240
  52. 1340 GOTO1300
  53. 2000 REM DISKETTENWECHSEL
  54. 2010 PRINT"[147]BITTE NEUE DISKETTE EINLEGEN"
  55. 2020 GETA$:IFA$=""THEN2020
  56. 2030 RUN
  57. 3000 REM BLOCK READ
  58. 3010 PO=2:PRINT"[147]   BLOCK LESEN":PRINT:PRINT
  59. 3020 INPUT"TRACK, SEKTOR ";T,S
  60. 3025 IFT<1ORT>35THEN3010
  61. 3030 PRINT#1,"U1 2 0"T;S
  62. 3035 IFST<>0THENPRINT:GOTO9000
  63. 3040 PRINT#1,"B-P 2 0"
  64. 3050 SYS49152:E=0:X=0:Y=0:GOTO5010
  65. 3060 FORY=ETO255STEP16
  66. 3070 PRINT"[147]TRACK"T" SEKTOR"S
  67. 3080 PRINT:PRINTHE$:PRINT
  68. 3090 FORX=YTOY+15:DA=PEEK(50000+X):GOSUB7030:PRINTX,OU$:NEXTX
  69. 3100 GOTO9000
  70. 4000 REM BLOCK WRITE
  71. 4010 PO=1:PRINT:PRINT:INPUT"[147]TRACK, SEKTOR";T,S:PRINT"[144]"
  72. 4020 PRINT#1,"B-P 2 0"
  73. 4030 SYS49177
  74. 4040 PRINT#1,"U2 2 0"T;S
  75. 4050 GOTO9000
  76. 5000 REM SCROLL FORWARD
  77. 5010 E=X:IFE>255THENX=0:E=0
  78. 5020 PRINT"[147]TRACK"T" SEKTOR"S
  79. 5030 PRINT:PRINTHE$:PRINT
  80. 5040 DA=PEEK(50000+E):GOSUB7030:PRINTE,OU$
  81. 5050 X=X+16
  82. 5060 GETA$:IFA$=""THEN5060
  83. 5070 IFA$="[133]"THEN5010
  84. 5075 IFA$="[137]"THENX=X-16:GOTO6010
  85. 5077 IFA$="[135]"THEN1000
  86. 5080 GOTO3060
  87. 6000 REM SCROLL BACKWARD
  88. 6010 E=X:IFE<0THENE=240:X=240
  89. 6020 PRINT"[147]TRACK"T" SEKTOR"S
  90. 6030 PRINT:PRINTHE$:PRINT
  91. 6040 DA=PEEK(50000+E):GOSUB7030:PRINTE,OU$
  92. 6050 X=X-16
  93. 6060 GETA$:IFA$=""THEN6060
  94. 6070 IFA$="[137]"THEN6010
  95. 6075 IFA$="[133]"THENX=X+16:GOTO5010
  96. 6077 IFA$="[135]"THEN1000
  97. 6080 GOTO3060
  98. 7000 REM BEREITSTELLUNG DES STRINGS
  99. 7010 REM DA/DA$ SIND AUSGABEWERTE                H$,D$,B$,C$ SIND ZWISCHENWERTE
  100. 7020 REM OU,OU$ SIND ENDERGEBNISSE
  101. 7030 IFDA>31ANDDA<128ORDA>159ANDDA<256THENC$=CHR$(DA):GOTO7040
  102. 7035 C$="."
  103. 7040 XX$="000":D$=RIGHT$(STR$(DA),LEN(STR$(DA))-1)
  104. 7045 D$=LEFT$(XX$,3-LEN(D$))+D$
  105. 7050 XX$="123456789ABCDEF":H$=""
  106. 7060 HH=INT(DA/16):HL=DA-HH*16
  107. 7070 IFHHTHENH$=H$+MID$(XX$,HH,1):GOTO7080
  108. 7075 H$=H$+"0"
  109. 7080 IFHLTHENH$=H$+MID$(XX$,HL,1):GOTO7090
  110. 7085 H$=H$+"0"
  111. 7090 B$="":FORQ=7TO0STEP-1
  112. 7100 IF(DAAND(2^Q))<>0THENB$=B$+"1":NEXT:GOTO7110
  113. 7105 B$=B$+"0":NEXT
  114. 7110 OU$=D$+"   "+H$+"    "+B$+"   "+C$
  115. 7120 RETURN
  116. 8999 END
  117. 9000 REM GET KOMMANDO
  118. 9010 PRINT:PRINT"KOMMANDO ?  ";
  119. 9020 PRINT"[157][191]";:FORW=1TO75:GETKO$:IFKO$<>""THEN9090
  120. 9030 NEXTW
  121. 9040 PRINT"[157][191][146]";:FORW=1TO75:GETKO$:IFKO$<>""THEN9090
  122. 9050 NEXTW
  123. 9060 GOTO9020
  124. 9090 IFKO$="@"THEN9200
  125. 9100 IF ASC(KO$)>140ORASC(KO$)<133THEN9020
  126. 9110 KO=ASC(KO$)-132
  127. 9120 ON PO GOTO9130,9140,20000
  128. 9130 ON KO GOTO9020,3000,1000,80,9020,4000,2000,20000
  129. 9140 ON KO GOTO5000,3000,1000,80,6000,4000,2000,20000
  130. 9200 PRINT
  131. 9210 GET#1,A$:PRINTA$;:IFST<>64THEN9210
  132. 9220 GOTO 9000
  133. 9999 END
  134. 10000 DATA160,0,169,8,32,9,237,169,98,32,199,237,32,19,238,153,80,195,200
  135. 10010 DATA208,247,32,239,237,96,160,0,169,8,32,12,237,169,98,32,185,237
  136. 10020 DATA185,80,195,32,221,237,200,208,247,32,254,237,96,0,0
  137. 10030 RESTORE:FORZ=1TO51:READA:POKE49151+Z,A:NEXT
  138. 10040 REM GET:49152; WRITE:49177
  139. 10050 RETURN
  140. 20000 PRINT:PRINT:PRINT"[154]AUF WIEDERSEHEN !!!":PRINT:POKE53280,14:POKE53281,6
  141. 20001 PRINT"UND DANKESCHOEN !"
  142. 65535 NEW:"":END
  143.