home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
86xx
/
8602.d64
/
text-transposer
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
5KB
|
151 lines
60000 REM *****************************
60010 REM ** TEXT-TRANSPOSER **
60020 REM **(VIZAWRITE/STARTEXTER/SM)**
60030 REM ** M.SCHACHT (C) 1985 **
60040 REM *****************************
60050 :
60060 PRINTCHR$(147):POKE788,52:REM RUN/STOP BLOCKIEREN
60070 AN=32:EN=78:REM LB/HB BASIC-ENDE=ANFANG TEXTSPEICHER
60080 ZS=20000:TA=50000:REM ADRESSEN ZWISCHENSPEICHER/TABELLE
60090 POKE53280,0:POKE53281,0
60100 FORI=1TO38:BL$=BL$+CHR$(32):BS$=BS$+CHR$(163):NEXT
60110 GOSUB61220:GOSUB61300:REM DATAS EINLESEN
60120 POKE250,80:POKE251,195:SYS927:REM TABELLE VORBELEGEN
60130 :
60140 REM ---------------MENUE/ABFRAGEN
60150 PO=4:AZ=18:GOSUB60690:PRINTCHR$(159)CHR$(14)CHR$(8):POKE214,1:PRINT
60160 PRINTCHR$(18)LEFT$(BL$,14);"[212]EXT-[197]DITOR";LEFT$(BL$,13):PRINTBL$:PRINTBS$
60170 POKE214,22:PRINT:PRINTCHR$(18)LEFT$(BL$,13);"MIT _ ZURUECK";LEFT$(BL$,12)
60180 POKE214,8:PRINT:FORI=0TO1:PRINTME$(I):PRINT:NEXT
60190 POKE198,0:WAIT198,1:GETX$:IFX$="_"THENPRINTCHR$(147):POKE788,49:END
60200 IFASC(X$)<65ORASC(X$)>66THEN60190
60210 POKE214,2:PRINT:PRINTTAB(2)RIGHT$(ME$(ASC(X$)-65),34)
60220 ON(ASC(X$)-64)GOSUB60420,60510
60230 PO=4:AZ=18:GOSUB60690:GOTO60150
60240 :
60250 REM ---------------FILE EDITIEREN
60260 POKE214,20:PRINT:PRINTCHR$(18)"EINZELN ODER KOMPLETT EDITIEREN (E/K)?"
60270 POKE198,0:WAIT198,1:GETX$:IFX$<>"E"ANDX$<>"K"ANDX$<>"_"THEN60270
60280 IFX$="_"THEN RUN 60070
60290 POKE788,49:POKE49155,0:IFX$="E"THENPOKE49155,1:REM FLAG
60300 :
60310 REM......SCHLEIFE ANFANG.........
60320 PRINTCHR$(147):POKE214,0:SYS58640
60330 SYS864:REM CODEWANDLUNG UND PRINT
60340 AN=PEEK(5)+PEEK(250)+1:EN=PEEK(251):IFAN>255THENAN=AN-256:EN=EN+1
60350 POKE250,AN:POKE251,EN:REM NEUE ANFANGSADRESSE
60360 POKE631,19:POKE632,13:POKE633,13:POKE634,13:POKE198,4:IFPEEK(49155)=1THENPOKE198,2
60370 IFPEEK(214)>2ANDPEEK(1104)<>32THENPOKE198,2:POKE214,3:POKE211,0:PRINT:PRINT"KUERZEN!?"
60380 PRINTCHR$(18)"RUN 60320":END
60390 REM.....SCHLEIFE ENDE............
60400 :
60410 REM --------------(A)-PRG => TEXT
60420 PO=8:AZ=3:GOSUB60690:POKE214,4:PRINT
60430 PRINTTAB(4)CHR$(28)ME$(5):PRINTME$(6)CHR$(34)ME$(7)CHR$(34);ME$(8)
60440 PRINTME$(9)CHR$(159):PRINTBS$
60450 POKE214,6:PRINT:GOSUB60580:IFT$="_"THENRETURN
60460 GOSUB61080:RW$="R":AD=828:GOSUB61140:IFN$="_"THENRETURN
60470 POKE214,19:PRINT:ONVAL(T$)GOSUB60720,60840,60950
60480 RW$="W":AD=885:GOSUB61140:RUN 60070
60490 :
60500 REM --------------(B)-TEXT => PRG
60510 PO=8:AZ=3:GOSUB60690
60520 GOSUB60580:IFT$="_"THENRETURN
60530 POKE214,19:PRINT:ONVAL(T$)GOSUB60770,60890,61020
60540 RW$="R":POKE936,96:AD=828:GOSUB61140:POKE936,234:IFN$="_"THENRETURN
60550 GOTO60260:REM EDITIEREN
60560 :
60570 REM-----------------------AUSWAHL
60580 POKE214,8:PRINT:FORI=2TO4:PRINT:PRINTTAB(12)ME$(I):NEXT
60590 POKE198,0:WAIT198,1:GETT$:IFT$="_"THENRETURN
60600 IFASC(T$)<49ORASC(T$)>51 THEN60590
60610 POKE214,VAL(T$)*2+7:PRINT:PRINTTAB(12)CHR$(18)ME$(VAL(T$)+1):RETURN
60620 :
60630 REM -----------------------FEHLER
60640 INPUT#15,FE,FE$:IFFE=0THENRETURN
60650 POKE214,20:PRINT:PRINTTAB(19)CHR$(28)LEFT$(FE$+BL$,19)CHR$(159)
60660 FORI=0TO2000:NEXT:PO=19:AZ=3:GOSUB60690:POKE214,PO:PRINT:RETURN
60670 :
60680 REM ---------TEILBEREICH LOESCHEN
60690 POKE214,PO:PRINT:FORQ=1TOAZ:PRINTBL$:NEXT:RETURN
60700 :
60710 REM -----------(A)-PARAMETER-VIZA
60720 F$="S":AN=32:EN=78
60730 POKETA+34,191
60740 RETURN
60750 :
60760 REM -----------(B)-PARAMETER-VIZA
60770 F$="P":POKE985,96:REM PRG-FILE/FLAG
60780 FORI=0TO31:POKETA+I,I+64:POKETA+65+I,I+97:NEXT
60790 POKETA+220,13:POKETA+127,34
60800 POKE250,AN+23:POKE251,EN+1:REM BYTES UEBERLESEN
60810 RETURN
60820 :
60830 REM -----------(A)-PARAMETER-STAR
60840 F$="P":AN=184:EN=78
60850 POKETA+95,163:POKETA+13,95
60860 RETURN
60870 :
60880 REM -----------(B)-PARAMETER-STAR
60890 F$="P":POKE985,234
60900 POKETA+95,13:POKETA+163,95
60910 POKE250,AN+2:POKE251,EN:REM BYTES UEBERLESEN
60920 RETURN
60930 :
60940 REM -----------(A)-PARAMETER---SM
60950 F$="S":AN=15:EN=78
60960 NN$=">.............000"
60970 FORI=1TO17:POKEZS-18+I,ASC(MID$(NN$,I,1)):NEXT
60980 POKETA+34,191
60990 RETURN
61000 :
61010 REM -----------(B)-PARAMETER---SM
61020 F$="S":POKE985,96:REM SEQ-FILE/FLAG
61030 POKETA+191,34
61040 POKE250,AN+19:POKE251,EN:REM BYTES UEBERLESEN
61050 RETURN
61060 :
61070 REM --------(A)-ALL.PARAMETER-PRG
61080 F$="P":AN=32:EN=78
61090 IFT$="1"ORT$="3"THENPOKE936,96
61100 IFT$="2"THENPOKE936,234
61110 RETURN
61120 :
61130 REM ---------FILE LESEN/SCHREIBEN
61140 W$="<LOAD> ":IFRW$="W"THENW$="<SAVE> "
61150 POKE214,19:PRINT:PRINT:PRINTW$;:INPUT"FILE-NAME:";N$:IFN$="_"THENRETURN
61160 OPEN15,8,15:OPEN2,8,2,"@:"+N$+","+F$+","+RW$:GOSUB60640
61170 IFFE<>0THENCLOSE2:CLOSE15:GOTO61140
61180 POKE3,AN:POKE4,EN:SYS AD:POKE214,21:PRINT:PRINTBS$
61190 CLOSE2:CLOSE15:RETURN
61200 :
61210 REM ------------------DATAS MENUE
61220 FORI=0TO9:README$(I):NEXT:RETURN
61230 DATA "(A) PRG-FILE IN TEXTPRG-FILE WANDELN"
61240 DATA "(B) TEXTPRG-FILE IN BASIC-FILE WANDELN"
61250 DATA "(1) [214]IZAWRITE ","(2) [211]TAR[212]EXTER ","(3) [211][205] - [212]EXT "
61260 DATA "PRG-FILE ZUVOR ABSPEICHERN MIT","OPEN8,8,8,","NAME,P,W"
61270 DATA ":CMD8:LIST:PRINT#8","CLOSE8"
61280 :
61290 REM ------DATAS MASCHINENROUTINEN
61300 IFPEEK(828)=162THENRETURN:REM BEREITS EINGELESEN
61310 FORI=0TO170:READDT:POKE828+I,DT:NEXT:RETURN
61320 DATA162,2,32,198,255,160,0,32,207,255,32,168,3,145,3,230,3,208,2,230,4
61330 DATA36,144,80,238,165,3,133,5,165,4,133,6,76,204,255,160,0,177,250,170
61340 DATA189,80,195,32,210,255,201,13,240,106,200,132,5,208,238,96,162,2,32
61350 DATA201,255,198,1,160,0,56,165,3,229,5,165,4,229,6,176,17,177,3,170,189
61360 DATA80,195,32,210,255,230,3,208,232,230,4,208,228,230,1,76,204,255,160
61370 DATA0,152,145,250,200,208,250,96,234,232,201,13,240,1,96,145,3,224,82,240
61380 DATA13,176,16,169,32,232,230,3,208,241,230,4,208,237,162,2,96,145,3,224
61390 DATA162,240,11,169,32,232,230,3,208,243,230,4,208,239,162,2,96,96,200,177
61400 DATA250,201,32,240,1,96,132,5,76,218,3
61410 :
61490 REM -----------------PRG LOESCHEN
61500 PRINTCHR$(147);TAB(7)"[212]EXT-[197]DITOR LOESCHEN (J/N)?":POKE198,0:WAIT198,1:GETX$
61510 IFX$<>"J"ANDX$<>"N"THEN61500
61520 IFX$="N"THENRUN60060
61530 POKE49152,0
61540 PRINTCHR$(147);:FORI=PEEK(49152)TOPEEK(49152)+7:PRINT(I+6000)*10:NEXT
61550 PRINT"GOTO61540":POKE49152,PEEK(49152)+8
61560 POKE631,19:FORI=632TO640:POKEI,13:NEXT:POKE198,10