:reset:save"co",a2:AUTOR:Lutz ElnerH:STAND:24.04.90|(CO$"CO1.RMC" ::Dateiname Maschinenprogramm2FS ::System-Adresse FSLPTR (Ende BASIC Programm)Ҁ<:SteuerzeichenfolgenFBS$():CR$()():HO$()()-P D(X)(X)(X) ::DEEKqZ R(X)X(XE2v)EeS` ::relative <--> absolute Adresse}d:MENnx: ,,,,,,:: 쁂" ͻ"8" KOMBICOP - Programm zum Ausdrucken von Bildschirminhalten "" ͼ":‚:---------------------------------------------邴"Maschinenprogramm ";CO$;" laden"- CO$ AS # : #::Test, ob Datei berhaupt vorhanden istb CO$ AS# :#, AS DT$, AS DA$:#,: # DT$( ) "keine Maschinencodedatei ! --> ABBRUCH":AA(DA$)::RINTFND(FS),HEX$(FND(FS)),AA,FNR(AA),HEX$(AA)@ D(FS) R(AA) "Maschinencodedatei berschreibt BASIC Programm ! --> ABBRUCH":J CO$:---------------------------------------------:Variablendefinition fr ParametertabelleMOAA ::Grafikmodus Drucker (6 Byte z.B.: 1B,'K',0,0,0,0)8AZAA ::zu druckende Adressen pro Zeile (max. 40 oder 80)m"RAAA ::Anzahl Leerzeichen als linker Rand,DZAA ::Anzahl Druckzeilen je 8 PunkteӅ6LFAA ::Zeilenvorschub in 1/216 Zoll (24)@SHAA ::Streckungsfaktor horizontal 1,2,3,4,5,...EJSVAA ::Streckungsfaktor vertikal 1,2,4,8TFAAA ::Farbauswahl (2 Byte) SCREEN؆^BAAA ::Bildspeicher Anfangsadresse (2 Byte) 0 1 2 3 5*hZ1AA ::Adressdifferenz fr Zeichen darunter - - 40 80 80|rZ8AA ::Adressdifferenz fr nchste Druckzeile 40 80 320 640 640͇|SFAA ::Anzahl Farbbit in 8 Bit - - 1 1 2SPAA ::Anzahl Punkte in 16 Bit - - 8 8 4S:---------------------------------------------Yy"Auswahl Einzelpunktmodus"" 1 ESC K fr K 6304 / K 6313 / K 6314"" 2 ESC * 5 und ESC * 2 fr K 6327 / K 6328 / LX 86 / FQ 800 / FX 1000"L" 1 ";CR$;"Modus whlen :";A A HO$;: ‰ A MO,("K"): MO,:SZ A MO,("*"): MO,("5"): MO,:SZ@ j : SCL:---------------------------------------------:-- Einsprungstelle bei Wiederholungen -----:---------------------------------------------&0" N ";CR$;-:"Bilddatei laden (J/N) :";A$KD A$"J" A$"j" N:---------------------------------------------X::"*.scr":݋b:PRINT" DRESDEN.SCR ";CR$;l"Dateiname eingeben name.typ :";A$Uv A$ AS # : #::Test, ob Datei berhaupt vorhanden ist A$ AS # :#, AS DT$, AS DA$, AS DE$:#,: #nj DT$( ) "keine Bilddatei";HO$;: bDAR((DA$)):DER((DE$))::Bildanfangs- und EndadresseC"Anfangsadresse:";(DA);"H","Endadresse:";(DE);"H"x:---------------------------------------------LDEDA ::Bilddateilnge덼 DA @ SC : : SC ::Text oder Grafik! SC L  SC ::screen 0 oder 1V SC L SC ::screen 2 oder 5_ASCe" ";A;" ";CR$;َ"In welchen SCREEN laden? (2,3,5) :";SC SC SC SC SC HO$;: j  (SC SC SC SC) DA @ "WARNUNG: Bilddatei wird in Text-SCREEN geladen !"Ǐ (SC SC SC) DA @ "WARNUNG: Textdatei wird in Grafik-SCREEN geladen !" :---------------------------------------------E* SC SC AL :SMA ::Bilddatei belegt A Seiten4 SC SC AL :SMA ::SM=maximale Seite (0...SM)> SC AL :SMAҐH SC SC AL @:SMA R::---------------------------------------------J\" ";SM;" ";CR$;~f"Auf welche Seite laden ? :";SEɑp SESM "Seite zu gro, Datei berschreibt Speicherende!";HO$;:\z:---------------------------------------------C SC SC ASE  ::A=soll Anfangsadresse` SC SC ASE z SC ASE @ SC SC ASE @ @В:---------------------------------------------꒶ SC,SE:: A$,S,ADA ,,,/::---------------------------------------------8ASCx" ";A;" ";CR$;"Welchen SCREEN drucken? (2,3,5) :";SCړ SC SC SC SC HO$;: :if SC=0:if SC=1: SC Z1,(:Z1,:Z8,@:Z8,@:SF,:SP,| SC Z1,P:Z1,:Z8,:Z8,:SF,:SP,$ SC Z1,P:Z1,:Z8,:Z8,:SF,:SP,͔.:if SC=8ܔ8:if SC=9"B:--------------------------------------------- EinzelpunktmodusZL (SC SC) (MO)("*") MO,("5")V SC (MO)("*") MO,("2")`:---------------------------------------------ؕj SC SC SMt SC SC SM~ SC SM SC SC SMS::---------------------------------------------\ASE" ";A;" ";CR$;Ж"Welche Seite drucken ? :";SE SESM "Seitenangabe fr SCREEN";SC;"maximal";SM;HO$;: L::---------------------------------------------g SC,SE: : ,,," J ";CR$;ؗ"Ist dieses Bild richtig ? :";A$ A$"J" A$"j"  :: HO$;HO$;HO$;HO$;HO$;:K::---------------------------------------------c SC SC  " 8 dunkelgrau Ŀ grau 7"" 9 blau Ŀ ocker 6"V" 10 grn Ŀ dunkelpurpur 5"(" 11 hellblau Ŀ dunkelrot 4"2" 12 rot Ŀ grnblau 3"I<" 13 purpur Ŀ dunkelgrn 2"F" 14 gelb Ŀ dunkelblau 1"P" 15 wei schwarz 0"4Z:PRINT" ":dn" 1111111011111110 ";CR$;ƛx"Farbwahl (1=drucken / 0=nicht drucken) :";A$ (A$)  "falsche Eingabe";HO$; : nA$(("&B"A$))4A((A$,)):B((A$,))" ";("0000000"(B),);("0000000"(A),)ٜ" J ";CR$;"Farbwahl richtig ? (J/N) :";A$E A$"J" A$"j" | : : HO$;HO$;HO$; : xz:---------------------------------------------" Palette 0 Palette 1"" 0 Hintergrundfarbe Hintergrundfarbe Ŀ"" 1 dunkelgrn grnblau Ŀ"M" 2 dunkelrot dunkelpurpur Ŀ"" 3 ocker grau "ɞ" 1110 ";CR$;:---------------------------------------------2""Farbwahl (1=drucken / 0=nicht drucken) :";A$f, (A$)  "falsche Eingabe";HO$; : }6A$(("&B"A$))@A((A$,)):B((A$,))J" ";("000"(A),)*T" J ";CR$;^^"Farbwahl richtig ? (J/N) :";A$h A$"J" A$"j" | : : HO$;HO$;HO$; : "ˠr:---------------------------------------------ߠ| FA,A: FA,B:---------------------------------------------$ ,,,:[::---------------------------------------------" ";(SH);CR$;ҡ"Streckungsfaktor horizontal (1,2,3,4,..):";A: SH,A!BSZ((SP)A) ::max. druckbare Bildbreiteb:A=FND(Z1):IF B>A-VD MOD A THEN B=A-VD MOD A :'errechnenm AZ,B::---------------------------------------------" ";(SV);" ";CR$;"Streckungsfaktor vertikal (1,2,4,8) :";AU A A A A SV,A: :: HO$;:~BD(Z8)A: Z8,B : Z8,B:B=25*A:A=FND(Z1):IF B>25-VD\A THEN B=25-VD\A:POKE DZ,A*(25*8-VD\FND(Z1)) :'Zeilenzahl * Streckungsfaktor9::---------------------------------------------v&" ";(RA);CR$;0"Anzahl der Leerzeichen fr linken Rand :";A: RA,A:::---------------------------------------------'D SC SC ASE  ::A=AnfangsadresseDN SC SC ASE ^X SC ASE @b SC SC ASE @ @l:---------------------------------------------v" Die folgenden Eingaben dienen zur Festlegung der Gre des zu druckenden"g" Bildschirmausschnittes. Die ";: :"linke obere Ecke";::" des Ausschnittes wird mit"" der Anfangsadresse festgelegt. Eine Adresse beinhaltet";(SP);"nebeneinander-"!" liegende Bildpunkte. Eine Bildschirm-Punktzeile hat";(Z1);"= ";((Z1));"H Adressen."k" Die Anfangsadresse der gewhlten Bildschirmseite wird angezeigt."q" ";(A);" ";CR$;ꧼ"Anfangsadresse im Bildspeicher (hex) :";A$ VAA:VDR(("&H"A$))VAP DZ,(VD(D(Z1))) (SV) ::Zeilenzahl * StreckungsfaktorAD(Z1):B(AZ): BAVD A AZ,AVD AA$(("&H"A$))Ĩ BA,((A$,)): BA,((A$,))::---------------------------------------------[" Fr die ";: :"Bildbreite";::" mu die Anzahl der Adressen im Bildspeicher einge-" " geben werden. Die gesamte Bildbreite entspricht";(Z1);"Adressen."" Die halbe Breite";(Z1);"Adressen u.s.w. Angezeigt wird die maximale"! " Breite fr das Papierformat A4."'*d4" ";(AZ);CR$;>"Bildbreite :";A: AZ,AժH::---------------------------------------------RA(SV)I\" Die ";: :"Bildhhe";::" wird in Einheiten zu je";A;"bereinanderliegenden Bildpunkten"f" angegeben. Die gesamte Bildhhe entspricht";A;"Einheiten, die halbe Hhe"p" entspricht etwa";(A);"Einheiten u.s.w. Angezeigt wird die maximale Hhe."z8" ";(DZ);CR$;r"Bildhhe :";A: DZ,A::---------------------------------------------X1VD D(Z1)ͬY2VDD(Z1)ެX2(AZ)X1Y1(DZ)(SV)Y2Z" Nach Drcken der Taste ";: :"STOP";::" wird das Bild mit dem markierten Ausschnitt"" angezeigt. Zur Programmfortsetzung ist erneut ";: :"STOP";::" zu drcken." SC,SE: (,)(D(Z1),): (X1,Y1)(X2,Y2),,B:INE (X1-1,Y1)-(X2,Y2-1),0,B(: ,,,. k " N ";CR$; "Start Druck (J/N) :";A$֮$ A$"J" A$"j" SC,SE:AA:A(): ,,, . ::--------------------------------------------I8 " N ";CR$;}B "wiederholen (J/N) :";A$ɯL A$"J" A$"j" ,,,:: ::PRINT STRING$(70,""):GOTO 520ѯV ׯ` j :Abbruch mit CTRL-STOPt 7~ " N ";CR$;k "wiederholen (J/N) :";A$ A$"J" A$"j" ,,,::   N ";CR$;k "wiederholen (J/N) :";A$ A$"J" A$"j"