home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / sh2x / sh25.d64 / eddi (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  3KB  |  139 lines

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