home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
86xx
/
8610b.d64
/
vg-converter
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
5KB
|
194 lines
10 IFPEEK(49152)=32 AND PEEK(49153)=84THEN210
20 LOAD"GRCONV.CODE.OBJ",8,1
30 REM ********************************
40 REM * *
50 REM * VIZAWRITE-GRAFIK-CONVERTER *
60 REM * *
70 REM * (C) 1986 MARKT&TECHNIK VERLAG*
80 REM * *
90 REM * WRITTEN BY *
100 REM* *
110 REM* RALF LENZ *
120 REM* *
130 REM* AM LANDGRABEN 12 *
140 REM* *
150 REM* 4290 BOCHOLT-BARLO *
160 REM* *
170 REM* *
180 REM* *
190 REM********************************
200 :
210 VIC=53248:REM STARTADRESSE VIC-CHIP
220 LADEN = 12*4096:REM BILD LADEN
230 HIRES= LADEN+20:REM UMSCHALTEN AUF HIRES
240 LRES= LADEN+53:REM UMSCHALTEN AUF LORES
250 LCOL= LADEN+65:REM FARBE TEXTBILDSCHIRM
260 COLR= LADEN+76 :REM FARBE HIRES
270 INVERT= LADEN+103:REM BILD INVERTIEREN
280 SPEICHERN= LADEN+127:REM BILD SPEICHERN
290 CNVERT= LADEN+276:REM BILD CONVERTIEREN
300 SETSPRITE= LADEN+349:REM SPRITES INITIALISIEREN
310 DOWN= LADEN+436:REM SPRITES NACH UNTENBEWEGEN
320 UP=LADEN+453:REM SPRITES NACH OBEN BEWEGEN
330 :
340 SYS LCOL:PRINTCHR$(14):REM FARBE SETZEN UND UMSCHALTEN AUF KLEINSCHRIFT
350 PRINTCHR$(30):REM SCHRIFTFARBE BLAU
360 PRINT"[147]****************************************"
370 PRINT" [160][160] [214]IZAWRITE-[199]RAFIK-[195]ONVERTER"
380 PRINT" (C) 1986 [205]ARKT&[212]ECHNIK [214]ERLAG"
390 PRINT" BY
400 [153]" (null)ALF (null)ENZ
410 PRINT" [193]M [204]ANDGRABEN 12
420 [153]" 4290 PEEKOCHOLT-PEEKARLO
430 PRINT
440 PRINT"****************************************"
450 NAME$=""
460 PRINT"[206]AME DES [194]ILDES ('$' FUER [196]IRECTORY): ";
470 INPUTNAME$:IFNAME$=""THEN340
480 IFNAME$="$"THENGOSUB1650:GOTO340
490 PRINT"[204]EGEN [211]IE DIE [196]ISKETTE MIT DEM [194]ILD INS [204]AUFWERK UND DRUECKEN [211]IE ";
500 PRINT"[210][197][212][213][210][206][146]"
510 GOSUB980
520 SYS LADEN,NAME$:REM BILD NACH $2000 LADEN
530 GOSUB1080
540 IFA=0THEN590
550 PRINT"[196]ISK [198]EHLER![146] ";
560 PRINT"[196]RUECKEN [211]IE [210][197][212][213][210][206][146]";
570 GOSUB 980
580 GOTO340
590 GOSUB1010
600 PRINT"1[146] [194]ILD ANSEHEN"
610 PRINT"2[146] [199]ANZES [194]ILD CONVERTIEREN"
620 PRINT"3[146] [193]USSCHNITT CONVERTIEREN"
630 PRINT"4[146] [206]EUES [194]ILD LADEN"
640 PRINT"5[146] [196]ISC-[194]EFEHL SENDEN"
650 PRINT"6[146] [196]IRECTORY"
660 PRINT"7[146] [208]ROGRAMMENDE"
670 PRINT"[201]HRE [215]AHL (1-7) ? ";
680 GETA$:IFA$<"1" OR A$>"7"THEN 680
690 PRINTA$:ON VAL(A$) GOSUB 1160,1230,1290
700 IF A$="4"THEN340
710 IF A$="5"THENGOSUB1910:GOTO590
720 IF A$="6"THENGOSUB1680:GOTO590
730 IF A$="7"THENPRINT"[147]";:END
740 IFF3THEN 760:REM FLAG FUER ENDE DES CONVERTIERENS
750 GOTO590
760 SYSLRES:POKEVIC+21,0:REM SPRITES AUS
770 GOSUB1010
780 NAME$=""
790 PRINT"[213]NTER WELCHEM [206]AMEN SOLL DAS [194]ILD"
800 PRINT"GESPEICHERT WERDEN?"
810 INPUT"";NAME$:IFNAME$=""THEN900
820 NAME$="VG."+NA$+",S,W"
830 PRINT"[204]EGEN [211]IE DIE [196]ISKETTE, AUF DIE DAS [194]ILDGESPEICHERT WERDEN SOLL ";
840 PRINT"INS [204]AUFWERK UND";
850 PRINT"DRUECKEN [211]IE [210][197][212][213][210][206][146]"
860 GOSUB980
870 SYS SPEICHERN,NAME$,OBEN,UNTEN
880 GOSUB1080:IFA<>0THEN770
890 GOSUB1010
900 PRINT"[215]OLLEN [211]IE NOCH EIN [194]ILD CONVERTIEREN?"
910 PRINT"[198]ALLS JA, DRUECKEN [211]IE [210][197][212][213][210][206][146]"
920 GETA$:IFA$=""THEN920
930 IFA$=CHR$(13)THENRUN210
940 PRINT"[147]":END
950 :
960 REM WARTET AUF RETURNTASTE
970 :
980 GETA$:IFA$<>CHR$(13)THEN 980
990 RETURN
1000 :
1010 PRINT"[147]****************************************"
1020 PRINT" [160][160] [214]IZAWRITE-[199]RAFIK-[195]ONVERTER "
1030 PRINT"****************************************"
1040 RETURN
1050 :
1060 REM FEHLERKANAL ABFRAGEN
1070 :
1080 OPEN15,8,15:INPUT#15,A,B$,C,D:PRINT:PRINTB$:CLOSE15:RETURN
1090 :
1100 PRINT"[218]UM [193]USFUEHREN DRUECKEN [211]IE [210][197][212][213][210][206][146]"
1110 PRINT"[210]UECKKEHR ZUM [205]ENUE MIT [210][197][212][213][210][206][146]"
1120 GOSUB 980:RETURN
1130 :
1140 REM BILD ANSEHEN
1150 :
1160 GOSUB1100:SYSCOLR,1:SYSHIRES
1170 GETA$:IFA$="I"THEN SYS INVERT
1180 IFA$=CHR$(13)THEN SYSLRES :RETURN
1190 GOTO1170
1200 :
1210 REM GANZES BILD CONVERTIEREN
1220 :
1230 F3=-1:SYSCOLR,1:SYS HIRES:SYS CNVERT:SYS LRES
1240 OBEN=8192:UNTEN=8192+8000
1250 RETURN
1260 :
1270 REM AUSSCHNITT CONVERTIEREN
1280 :
1290 PRINT"[147][194]EWEGEN [211]IE DEN [218]EIGER MIT DEN [195]URSOR- [212]ASTEN AUF UND AB"
1300 PRINT"[218]UERST LEGEN [211]IE DIE OBERE [199]RENZE FEST. [215]ENN [211]IE DIE GEWUENSCHTE [218]EILE"
1310 PRINT"ERREICHT HABEN, DRUECKEN [211]IE DIE [210]ETURN-[212]ASTE. [193]NALOG VERFAHREN [211]IE MIT"
1320 PRINT"DER UNTEREN [199]RENZE."
1330 PRINT"[200][207][205][197][146] BRINGT DEN [218]EIGER NACH OBEN UND"
1340 PRINT"[201][146] INVERTIERT DIE [199]RAFIK"
1350 PRINT"[218]UM [211]TART DRUECKEN [211]IE [210][197][212][213][210][206][146]":GOSUB 980
1360 SYSHIRES:SYSCOLR,1:SYS SETSPRITE
1370 GETA$:IFA$=""THEN 1370
1380 IFA$=CHR$(13)THENGOSUB1470 :IFF3THENRETURN
1390 IFA$=""THEN SYS DOWN
1400 IFA$="[145]"THEN SYS UP
1410 IFA$="I"THEN SYS INVERT:FORI=1TO200:NEXT
1420 IFA$=""THENFORI=VIC+1 TO VIC+14STEP2:POKEI,50:NEXT
1430 GOTO 1370
1440 :
1450 REM OBERE GRENZE BERECHNEN
1460 :
1470 IFF2THEN1580 :REM UNTERE GRENZE
1480 F2=-1
1490 OZ=INT((PEEK(VIC+1)-50)/8):REM BILDSCHIRMZEILENNUMMER DES SPRITES
1500 IFOZ=0THEN1520 :REM SPRITE IST GANZ OBEN
1510 FORI=1024TO1023+OZ*40:POKEI,0:NEXT:REM IM FARBRAM LOESCHEN
1520 OBEN=8192+OZ*320
1530 FORI=VIC+1 TO VIC+14STEP2:POKEI,242:NEXT:REM ALLE SPRITES NACH UNTEN
1540 RETURN
1550 :
1560 REM UNTERE GRENZE BERECHNEN
1570 :
1580 UZ=INT((PEEK(VIC+1)-50)/8):REM BILDSCHRIMZEILENNUMMER DES SPRITES
1590 IFUZ=250THEN 1610 :REM SPRITE IST GANZ UNTEN
1600 FORI=1024+UZ*40TO 2023:POKEI,0:NEXT:REM IM FARBRAM LOESCHEN
1610 UNTEN=8192+UZ*320
1620 F3=-1:FORI=1TO800:NEXT
1630 SYSCNVERT
1640 RETURN
1650 :
1660 REM INHALTSVERZEICHNIS ANZEIGEN
1670 :
1680 PRINT"[147]";
1690 OPEN1,8,0,"$0"
1700 GET#1,U$,V$
1710 GET#1,U$,V$
1720 GET#1,U$,V$
1730 BL=0
1740 IFU$<>""THENBL=ASC(U$)
1750 IFV$<>""THENBL=BL+ASC(V$)*256
1760 PRINTMID$(STR$(BL),2);TAB(4);
1770 GET#1,V$:IFST<>0THEN1890
1780 IFV$<>CHR$(34)THEN1770
1790 GET#1,V$:IFV$<>CHR$(34)THENPRINTV$;:GOTO1790
1800 GET#1,V$:IFV$=CHR$(32)THEN1800
1810 IFV$=CHR$(42)THENV$="[157]*"
1820 PRINTTAB(22);:W$=""
1830 W$=W$+V$:GET#1,V$:IFV$<>""THEN1830
1840 PRINTLEFT$(W$,5)
1850 GETX$
1860 IFX$="_"THENCLOSE1:RETURN
1870 IFX$=" "THENPOKE198,0:WAIT198,1:POKE198,0
1880 IFST=0THEN1710
1890 PRINT"BLOCKS FREE"
1900 CLOSE1:POKE198,0:WAIT198,1:POKE198,0:RETURN
1910 OPEN15,8,15:PRINT"[194]EFEHL: ";:POKE631,34:POKE198,1:INPUTDB$
1920 PRINT#15,DB$:CLOSE15:GOSUB1080
1930 POKE198,0:WAIT198,1:POKE198,0:RETURN