home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / 86xx / 8602.d64 / text-transposer (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  5KB  |  151 lines

  1. 60000 REM *****************************
  2. 60010 REM **     TEXT-TRANSPOSER     **
  3. 60020 REM **(VIZAWRITE/STARTEXTER/SM)**
  4. 60030 REM **   M.SCHACHT (C) 1985    **
  5. 60040 REM *****************************
  6. 60050 :
  7. 60060 PRINTCHR$(147):POKE788,52:REM RUN/STOP BLOCKIEREN
  8. 60070 AN=32:EN=78:REM LB/HB BASIC-ENDE=ANFANG TEXTSPEICHER
  9. 60080 ZS=20000:TA=50000:REM ADRESSEN ZWISCHENSPEICHER/TABELLE
  10. 60090 POKE53280,0:POKE53281,0
  11. 60100 FORI=1TO38:BL$=BL$+CHR$(32):BS$=BS$+CHR$(163):NEXT
  12. 60110 GOSUB61220:GOSUB61300:REM DATAS EINLESEN
  13. 60120 POKE250,80:POKE251,195:SYS927:REM TABELLE VORBELEGEN
  14. 60130 :
  15. 60140 REM ---------------MENUE/ABFRAGEN
  16. 60150 PO=4:AZ=18:GOSUB60690:PRINTCHR$(159)CHR$(14)CHR$(8):POKE214,1:PRINT
  17. 60160 PRINTCHR$(18)LEFT$(BL$,14);"[212]EXT-[197]DITOR";LEFT$(BL$,13):PRINTBL$:PRINTBS$
  18. 60170 POKE214,22:PRINT:PRINTCHR$(18)LEFT$(BL$,13);"MIT _ ZURUECK";LEFT$(BL$,12)
  19. 60180 POKE214,8:PRINT:FORI=0TO1:PRINTME$(I):PRINT:NEXT
  20. 60190 POKE198,0:WAIT198,1:GETX$:IFX$="_"THENPRINTCHR$(147):POKE788,49:END
  21. 60200 IFASC(X$)<65ORASC(X$)>66THEN60190
  22. 60210 POKE214,2:PRINT:PRINTTAB(2)RIGHT$(ME$(ASC(X$)-65),34)
  23. 60220 ON(ASC(X$)-64)GOSUB60420,60510
  24. 60230 PO=4:AZ=18:GOSUB60690:GOTO60150
  25. 60240 :
  26. 60250 REM ---------------FILE EDITIEREN
  27. 60260 POKE214,20:PRINT:PRINTCHR$(18)"EINZELN ODER KOMPLETT EDITIEREN (E/K)?"
  28. 60270 POKE198,0:WAIT198,1:GETX$:IFX$<>"E"ANDX$<>"K"ANDX$<>"_"THEN60270
  29. 60280 IFX$="_"THEN RUN 60070
  30. 60290 POKE788,49:POKE49155,0:IFX$="E"THENPOKE49155,1:REM FLAG
  31. 60300 :
  32. 60310 REM......SCHLEIFE ANFANG.........
  33. 60320 PRINTCHR$(147):POKE214,0:SYS58640
  34. 60330 SYS864:REM CODEWANDLUNG UND PRINT
  35. 60340 AN=PEEK(5)+PEEK(250)+1:EN=PEEK(251):IFAN>255THENAN=AN-256:EN=EN+1
  36. 60350 POKE250,AN:POKE251,EN:REM NEUE ANFANGSADRESSE
  37. 60360 POKE631,19:POKE632,13:POKE633,13:POKE634,13:POKE198,4:IFPEEK(49155)=1THENPOKE198,2
  38. 60370 IFPEEK(214)>2ANDPEEK(1104)<>32THENPOKE198,2:POKE214,3:POKE211,0:PRINT:PRINT"KUERZEN!?"
  39. 60380 PRINTCHR$(18)"RUN 60320":END
  40. 60390 REM.....SCHLEIFE ENDE............
  41. 60400 :
  42. 60410 REM --------------(A)-PRG => TEXT
  43. 60420 PO=8:AZ=3:GOSUB60690:POKE214,4:PRINT
  44. 60430 PRINTTAB(4)CHR$(28)ME$(5):PRINTME$(6)CHR$(34)ME$(7)CHR$(34);ME$(8)
  45. 60440 PRINTME$(9)CHR$(159):PRINTBS$
  46. 60450 POKE214,6:PRINT:GOSUB60580:IFT$="_"THENRETURN
  47. 60460 GOSUB61080:RW$="R":AD=828:GOSUB61140:IFN$="_"THENRETURN
  48. 60470 POKE214,19:PRINT:ONVAL(T$)GOSUB60720,60840,60950
  49. 60480 RW$="W":AD=885:GOSUB61140:RUN 60070
  50. 60490 :
  51. 60500 REM --------------(B)-TEXT => PRG
  52. 60510 PO=8:AZ=3:GOSUB60690
  53. 60520 GOSUB60580:IFT$="_"THENRETURN
  54. 60530 POKE214,19:PRINT:ONVAL(T$)GOSUB60770,60890,61020
  55. 60540 RW$="R":POKE936,96:AD=828:GOSUB61140:POKE936,234:IFN$="_"THENRETURN
  56. 60550 GOTO60260:REM EDITIEREN
  57. 60560 :
  58. 60570 REM-----------------------AUSWAHL
  59. 60580 POKE214,8:PRINT:FORI=2TO4:PRINT:PRINTTAB(12)ME$(I):NEXT
  60. 60590 POKE198,0:WAIT198,1:GETT$:IFT$="_"THENRETURN
  61. 60600 IFASC(T$)<49ORASC(T$)>51 THEN60590
  62. 60610 POKE214,VAL(T$)*2+7:PRINT:PRINTTAB(12)CHR$(18)ME$(VAL(T$)+1):RETURN
  63. 60620 :
  64. 60630 REM -----------------------FEHLER
  65. 60640 INPUT#15,FE,FE$:IFFE=0THENRETURN
  66. 60650 POKE214,20:PRINT:PRINTTAB(19)CHR$(28)LEFT$(FE$+BL$,19)CHR$(159)
  67. 60660 FORI=0TO2000:NEXT:PO=19:AZ=3:GOSUB60690:POKE214,PO:PRINT:RETURN
  68. 60670 :
  69. 60680 REM ---------TEILBEREICH LOESCHEN
  70. 60690 POKE214,PO:PRINT:FORQ=1TOAZ:PRINTBL$:NEXT:RETURN
  71. 60700 :
  72. 60710 REM -----------(A)-PARAMETER-VIZA
  73. 60720 F$="S":AN=32:EN=78
  74. 60730 POKETA+34,191
  75. 60740 RETURN
  76. 60750 :
  77. 60760 REM -----------(B)-PARAMETER-VIZA
  78. 60770 F$="P":POKE985,96:REM PRG-FILE/FLAG
  79. 60780 FORI=0TO31:POKETA+I,I+64:POKETA+65+I,I+97:NEXT
  80. 60790 POKETA+220,13:POKETA+127,34
  81. 60800 POKE250,AN+23:POKE251,EN+1:REM BYTES UEBERLESEN
  82. 60810 RETURN
  83. 60820 :
  84. 60830 REM -----------(A)-PARAMETER-STAR
  85. 60840 F$="P":AN=184:EN=78
  86. 60850 POKETA+95,163:POKETA+13,95
  87. 60860 RETURN
  88. 60870 :
  89. 60880 REM -----------(B)-PARAMETER-STAR
  90. 60890 F$="P":POKE985,234
  91. 60900 POKETA+95,13:POKETA+163,95
  92. 60910 POKE250,AN+2:POKE251,EN:REM BYTES UEBERLESEN
  93. 60920 RETURN
  94. 60930 :
  95. 60940 REM -----------(A)-PARAMETER---SM
  96. 60950 F$="S":AN=15:EN=78
  97. 60960 NN$=">.............000"
  98. 60970 FORI=1TO17:POKEZS-18+I,ASC(MID$(NN$,I,1)):NEXT
  99. 60980 POKETA+34,191
  100. 60990 RETURN
  101. 61000 :
  102. 61010 REM -----------(B)-PARAMETER---SM
  103. 61020 F$="S":POKE985,96:REM SEQ-FILE/FLAG
  104. 61030 POKETA+191,34
  105. 61040 POKE250,AN+19:POKE251,EN:REM BYTES UEBERLESEN
  106. 61050 RETURN
  107. 61060 :
  108. 61070 REM --------(A)-ALL.PARAMETER-PRG
  109. 61080 F$="P":AN=32:EN=78
  110. 61090 IFT$="1"ORT$="3"THENPOKE936,96
  111. 61100 IFT$="2"THENPOKE936,234
  112. 61110 RETURN
  113. 61120 :
  114. 61130 REM ---------FILE LESEN/SCHREIBEN
  115. 61140 W$="<LOAD> ":IFRW$="W"THENW$="<SAVE> "
  116. 61150 POKE214,19:PRINT:PRINT:PRINTW$;:INPUT"FILE-NAME:";N$:IFN$="_"THENRETURN
  117. 61160 OPEN15,8,15:OPEN2,8,2,"@:"+N$+","+F$+","+RW$:GOSUB60640
  118. 61170 IFFE<>0THENCLOSE2:CLOSE15:GOTO61140
  119. 61180 POKE3,AN:POKE4,EN:SYS AD:POKE214,21:PRINT:PRINTBS$
  120. 61190 CLOSE2:CLOSE15:RETURN
  121. 61200 :
  122. 61210 REM ------------------DATAS MENUE
  123. 61220 FORI=0TO9:README$(I):NEXT:RETURN
  124. 61230 DATA "(A) PRG-FILE  IN  TEXTPRG-FILE WANDELN"
  125. 61240 DATA "(B) TEXTPRG-FILE IN BASIC-FILE WANDELN"
  126. 61250 DATA "(1) [214]IZAWRITE ","(2) [211]TAR[212]EXTER ","(3) [211][205] - [212]EXT "
  127. 61260 DATA "PRG-FILE ZUVOR ABSPEICHERN MIT","OPEN8,8,8,","NAME,P,W"
  128. 61270 DATA ":CMD8:LIST:PRINT#8","CLOSE8"
  129. 61280 :
  130. 61290 REM ------DATAS MASCHINENROUTINEN
  131. 61300 IFPEEK(828)=162THENRETURN:REM BEREITS EINGELESEN
  132. 61310 FORI=0TO170:READDT:POKE828+I,DT:NEXT:RETURN
  133. 61320 DATA162,2,32,198,255,160,0,32,207,255,32,168,3,145,3,230,3,208,2,230,4
  134. 61330 DATA36,144,80,238,165,3,133,5,165,4,133,6,76,204,255,160,0,177,250,170
  135. 61340 DATA189,80,195,32,210,255,201,13,240,106,200,132,5,208,238,96,162,2,32
  136. 61350 DATA201,255,198,1,160,0,56,165,3,229,5,165,4,229,6,176,17,177,3,170,189
  137. 61360 DATA80,195,32,210,255,230,3,208,232,230,4,208,228,230,1,76,204,255,160
  138. 61370 DATA0,152,145,250,200,208,250,96,234,232,201,13,240,1,96,145,3,224,82,240
  139. 61380 DATA13,176,16,169,32,232,230,3,208,241,230,4,208,237,162,2,96,145,3,224
  140. 61390 DATA162,240,11,169,32,232,230,3,208,243,230,4,208,239,162,2,96,96,200,177
  141. 61400 DATA250,201,32,240,1,96,132,5,76,218,3
  142. 61410 :
  143. 61490 REM -----------------PRG LOESCHEN
  144. 61500 PRINTCHR$(147);TAB(7)"[212]EXT-[197]DITOR LOESCHEN (J/N)?":POKE198,0:WAIT198,1:GETX$
  145. 61510 IFX$<>"J"ANDX$<>"N"THEN61500
  146. 61520 IFX$="N"THENRUN60060
  147. 61530 POKE49152,0
  148. 61540 PRINTCHR$(147);:FORI=PEEK(49152)TOPEEK(49152)+7:PRINT(I+6000)*10:NEXT
  149. 61550 PRINT"GOTO61540":POKE49152,PEEK(49152)+8
  150. 61560 POKE631,19:FORI=632TO640:POKEI,13:NEXT:POKE198,10
  151.