Listing in BASIC mit eingerücktem linken Rand

Moderator: Rockford

Antworten
Manfredini66
Beiträge: 93
Registriert: 22.08.2021 14:05
Has thanked: 33 times
Been thanked: 34 times
Kontaktdaten:

Listing in BASIC mit eingerücktem linken Rand

Beitrag von Manfredini66 »

Hallo Programmierprofis,

ich möchte ein BASIC Listing mit eingerücktem linken Rand, also z.B. erst ab dem 10.Zeichen ausdrucken. Das ist nötig, um Listings auch mal abheften zu können. Mein Drucker (Präsident 6325) kann das grundsätzlich auch. Allerdings funktioniert diese Formatierung bei dem Befehl LIST"P:" nicht. Normale Texte werden eingerückt, aber eben das Listing nicht. Hier mal ein kleines Beispiel:
IMG_2548.jpeg
IMG_2548.jpeg (83.63 KiB) 743 mal betrachtet
Was mache ich falsch? Gibt es Tricks oder Umgehungslösungen. Oder geht das gar nicht?

Vielen Dank für Eure Hilfe.

Gruß
Manfred

Benutzeravatar
atarixle
Beiträge: 427
Registriert: 18.06.2021 21:19
Has thanked: 45 times
Been thanked: 88 times
Kontaktdaten:

Re: Listing in BASIC mit eingerücktem linken Rand

Beitrag von atarixle »

Eine Umgehung wäre tatsächlich, das Listing mit LIST "D:program.TXT" abzuspeichern und als Text mit einer Textverarbeitung auszudrucken.

Benutzeravatar
Tigerduck
Beiträge: 391
Registriert: 17.08.2021 16:07
Has thanked: 201 times
Been thanked: 81 times
Kontaktdaten:

Re: Listing in BASIC mit eingerücktem linken Rand

Beitrag von Tigerduck »

Ich kenne jetzt deinen Drucker nicht so genau, aber ist es nicht möglich das Papier weiter links einzuspannen, dann sollte der Druck doch weiter rechts starten...

Manfredini66
Beiträge: 93
Registriert: 22.08.2021 14:05
Has thanked: 33 times
Been thanked: 34 times
Kontaktdaten:

Re: Listing in BASIC mit eingerücktem linken Rand

Beitrag von Manfredini66 »

Vielen Dank für die Antworten.

Das Papier weiter links einzuspannen habe ich ausprobiert, ist aber bei meinem Drucker begrenzt und reicht nicht für den gewünschten Zweck:
IMG_2550.jpeg
IMG_2550.jpeg (93.91 KiB) 640 mal betrachtet
Der Tip mit List"D:Listing.TXT" hat aber geklappt. Mit dem Atariwriter braucht man nur die Datei zu laden und gleich wieder asdrucken. Als Drucker habe ich den 1025 ausgewählt. Das klappt prima:
IMG_2550.jpeg
IMG_2550.jpeg (93.91 KiB) 640 mal betrachtet
Mit den Startexter hat es nicht auf Anhieb funktioniert. Wenn man dort den Text lädt und so wie er ist wieder ausdruckt, wird nur die erste Zeile eingerückt. Das kann man sicher alles einstellen, aber das Programm ist ja ziemlich komplex ....

Mir reicht aber die Variante mit dem Atariwriter.

Vielen Dank und einen schönen Sonntag :-)
Dateianhänge
IMG_2552.jpeg
IMG_2552.jpeg (78.12 KiB) 640 mal betrachtet

Benutzeravatar
mp-one
Beiträge: 41
Registriert: 17.08.2021 16:52
Has thanked: 1 time
Been thanked: 68 times
Kontaktdaten:

Re: Listing in BASIC mit eingerücktem linken Rand

Beitrag von mp-one »

Hallo,

bei EPSON und kompatiblen Druckern konnte man per ESC Code (u..a.) den linken Rand einstellen. Allerdings weiß ich nicht, ob das beim Präsidenten auch geht. ESC l (kleines L) war es beim Epson glaube ich. Danach sollten Listings mit dem gesetzten Rand ausgedruckt werden.

Manfredini66
Beiträge: 93
Registriert: 22.08.2021 14:05
Has thanked: 33 times
Been thanked: 34 times
Kontaktdaten:

Re: Listing in BASIC mit eingerücktem linken Rand

Beitrag von Manfredini66 »

Du hast Recht, es ist das "kleine l", ich habe die "1" genommen. Im Handbuch des Druckers sehen sich die beiden Zeichen zum Verwechseln ähnlich. Natürlich habe ich das Programm aus dem Beitrag 1 mal mit dem kleinen l ausprobiert. Leider das gleiche Ergebnis. Da bin ich jetzt doch etwas verwundert. Mit der 1 hätte eigentlich nichts eingerückt werden dürfen (mit der 1 kann man den Zeilenabstand verändern). Leider gibt es nirgend vernünftige Literatur wie man mit den ESC-Codes in Atari Basic arbeitet. Einiges steht im Buch "Mein Atari-Computer", aber das hat mir in Bezug auf List "P:" auch nicht weitergeholfen.

Gruß
Manfred

Benutzeravatar
mp-one
Beiträge: 41
Registriert: 17.08.2021 16:52
Has thanked: 1 time
Been thanked: 68 times
Kontaktdaten:

Re: Listing in BASIC mit eingerücktem linken Rand

Beitrag von mp-one »

Moin, nach ESC l kam noch die Anzahl der einzurückenden Zeichen. Die Syntax müsste auch in alten Handbüchern zu den Epson FX Druckern stehen. Ich schaue heute Abend noch mal nach.

Manfredini66
Beiträge: 93
Registriert: 22.08.2021 14:05
Has thanked: 33 times
Been thanked: 34 times
Kontaktdaten:

Re: Listing in BASIC mit eingerücktem linken Rand

Beitrag von Manfredini66 »

Ich lade mal zwei Seiten aus dem Handbuch des Druckers hoch. Eine Seite beschreibt das setzen des linken Randes. Diese Seite ist aus dem Kapitel EPSON (Standard ESC/P-80/P-81). Die andere Seite ist aus dem Kapitel speziel für Atari 8 Bit. Dort ist zu sehen, dass im Programm offensichtlich der Dezimalwert des Steuercodes in des Programm eingetragen werden muss (Also z.B. aus ESC 0F wird CHR$ (15) ??? Der ATASCCI Code für das kleine l ist 108. Das funktioniert aber auch nicht. Irgendwas muss bei der Syntax des BASIC-Befehls nicht stimmen....
Dateianhänge
IMG_2553.jpeg
IMG_2553.jpeg (121.82 KiB) 438 mal betrachtet
IMG_2554.jpeg
IMG_2554.jpeg (110.82 KiB) 438 mal betrachtet

FlorianD
Beiträge: 422
Registriert: 19.08.2021 00:18
Has thanked: 74 times
Been thanked: 169 times
Kontaktdaten:

Re: Listing in BASIC mit eingerücktem linken Rand

Beitrag von FlorianD »

probier mal folgendes

Code: Alles auswählen

10 LIST "P:"
20 LPRINT CHR$(27);"l";CHR$(10)
30 LIST "P:"
40 LPRINT CHR$(27);"l";CHR$(5)
50 LIST "P:"
dann müßte das Listing einmal linksbündig,
einmal mit 10 Zeichen Leerraum vor jeder Zeile
und einmal mit 5 Zeichen Leerraum vor jeder Zeile
gedruckt werden.

Funktioniert auf ATARI800MacX mit EPSON FX80 einwandfrei.
Bildschirmfoto 2025-11-24 um 18.44.16.png
Bildschirmfoto 2025-11-24 um 18.44.16.png (307.54 KiB) 376 mal betrachtet

Bei der von Dir gezeigten 2. Seite sind die Codes Hexadezimal angegeben, z.B. "ESC 0E", das muss dann erst in dezimal umgerechnet werden hex.0E=dez.14
Die CHR$ Befehle im ATARI Basic können nur Dezimalzahlen: CHR$(14)
In TURBO-Basic kannst Du auch Hexadezimalzahlen nehmen, dann aber mit "$" vornedran: CHR$($0E)

Manfredini66
Beiträge: 93
Registriert: 22.08.2021 14:05
Has thanked: 33 times
Been thanked: 34 times
Kontaktdaten:

Re: Listing in BASIC mit eingerücktem linken Rand

Beitrag von Manfredini66 »

Danke für die Bestätigung, dass es eigentlich gehen muss. So in der Art habe ich schon einiges probiert. Ich habe eben auch noch mal dein Programm ausprobiert. Leider wieder ein Misserfolg.
IMG_2555.jpeg
IMG_2555.jpeg (974.88 KiB) 339 mal betrachtet
Ich benutze AltirraBasic 8K 1.58. Vielleicht sollte ich mal ein normales BASIC testen. Oder TurboBasic. Das ist auch eine gute Idee. An den Druckereinstellungen kann es eigentlich nicht liegen. Sperrschrift konnte ich ohne Probleme ausdrucken....

FlorianD
Beiträge: 422
Registriert: 19.08.2021 00:18
Has thanked: 74 times
Been thanked: 169 times
Kontaktdaten:

Re: Listing in BASIC mit eingerücktem linken Rand

Beitrag von FlorianD »

mach mal hinter die schließende Klammer am Ende der Zeile 20 und 40 noch ein ; (Semikolon)
und guck was dann passiert

Code: Alles auswählen

10 LIST "P:"
20 LPRINT CHR$(27);"l";CHR$(10);
30 LIST "P:"
40 LPRINT CHR$(27);"l";CHR$(5);
50 LIST "P:"

Manfredini66
Beiträge: 93
Registriert: 22.08.2021 14:05
Has thanked: 33 times
Been thanked: 34 times
Kontaktdaten:

Re: Listing in BASIC mit eingerücktem linken Rand

Beitrag von Manfredini66 »

Ich habe das ausprobiert. Und auch noch andere Varianten mit Komma und Semikolon. Immer das gleich Ergebnis, der linke Rand bewegt sich nicht. Ich habe daher mal versucht, im Ausschlussverfahren den Fehler einzugrenzen. Dazu habe ich ein Beispiel (Sperrschrift Ein- und Ausschalten) aus dem Druckerhandbuch abgetippt. Ergebnis: Es funktioniert. Daraus schlussfolgere ich, dass die elektrische Kommunikation zwische Atari und Drucker funktioniert. Dann habe ich den Drucker mal mit einer anderen Interfacekassette an einen KC85/4 angeschlossen. Bei dieser Kombination funktioniert das Einrücken! Meine Schlussfolgerung: Der Drucker funktioniert auch. Die einzige Idde die ich dazu habe ist, dass das Atari Basic die ESC Sequenzen nicht richtig an den Drucker übermittelt, sobald Argumente (hier die Anzahl der einzurückenden Zeiche) enthalten sind. Diese Theorie wird auch dadurch gestützt, dass im Atari-Teil des Handbuchs keine entsprechenden Beispiele abgedruckt sind. Evtl. könnte mal jemand das Beispiel von Florian auf einem anderen Drucker, z.B. einem 1029 ausprobieren? Ich habe leider keinen Atari Drucker.
Dateianhänge
IMG_2558.jpeg
IMG_2558.jpeg (1.16 MiB) 147 mal betrachtet

Erhard
Beiträge: 1188
Registriert: 04.11.2021 15:52
Has thanked: 141 times
Been thanked: 373 times
Kontaktdaten:

Listing in BASIC mit eingerücktem linken Rand

Beitrag von Erhard »

Ich habe einen Drucker, den man im Hex-Dump-Modus starten kann.

Dann kann man im Ausdruck sehen, was der Rechner nun wirklich geschickt hat.

Damit konnte ich früher einen Fehler des Wiesemann-Centronics Interface aufdecken:

Im Grafikmodus übersetzt das Interface das Atari EOL in CR LF.

Im Grafikmodus darf aber keine Übersetzung der Daten erfolgen.

Darüber hinaus bekam der Drucker dann pro in den Bilddaten enthaltenem 155 eben 2 Zeichen.

Da man aber beim Grafikdruck im Befehl angeben muß, wieviele Bytes als Grafikdruck kommen werden ...

PS: bei emulierten Druckern habe ich schon festgestellt, daß unter Umständen nicht alle Fähigkeiten deren Original implementiert wurden.
Jede Info, die zu Hause auf meinem Rechner liegt habe ich unterwegs nicht verfügbar.
Jede Info, die im Netz liegt finde ich nicht wieder, wenn ich sie benötige.

Manfredini66
Beiträge: 93
Registriert: 22.08.2021 14:05
Has thanked: 33 times
Been thanked: 34 times
Kontaktdaten:

Re: Listing in BASIC mit eingerücktem linken Rand

Beitrag von Manfredini66 »

Das ist ein guter Ansatz :-)

Der Drucker kann HEX DUMP und ich habe mal probiert:
IMG_2559.jpeg
IMG_2559.jpeg (1.39 MiB) 55 mal betrachtet
Ich habe das Listing erst ausgedruckt und den Drucker dann noch mal im HEX DUMP Modus gestartet. Dann habe ich das kleine Programm gestartet. Der Drucker hat dann erstmal die erste Zeile gedruckt. Dann habe ich auf offline umgeschaltet und dann wurde auch noch der Rest ausgedruckt. Bloß wie interpretiere ich das jetzt? Ist "1B" die 27 und "6C" das kleine l?? Und was bedeuten die Zeichen an Position 11 und 21?

Benutzeravatar
DjayBee
Beiträge: 1136
Registriert: 17.08.2021 04:02
Has thanked: 858 times
Been thanked: 438 times
Kontaktdaten:

Re: Listing in BASIC mit eingerücktem linken Rand

Beitrag von DjayBee »

Der Hexdump sieht korrekt aus, nur dass du versehentlich Kommata statt Strichpunkten verwendet hast.

Wiederhol es nochmal mit
20 PRINT #2;CHR$(27);"l";CHR$(10);"TEST"

Dann müsste es 1B 6C 0A 54 45 53 54 ergeben.

Benutzeravatar
mega-hz
Beiträge: 1581
Registriert: 03.11.2021 11:23
Has thanked: 498 times
Been thanked: 557 times

Re: Listing in BASIC mit eingerücktem linken Rand

Beitrag von mega-hz »

Es muss gehen,
ich hatte früher auch nen Präsident 6320 und konnte Listings wie Du es Dir vorstellst, ausdrucken.
Leider habe ich den Drucker seit ca. 1995 nicht mehr.
Dafür kam ein HP-Lasejet 4L der am Paralellport des 16K Bibomons hing.
Auch bei dem ging es per ESC- Steuerbefehlen.
keine PN's mehr! Bitte per email kontaktieren! atari1450xld©mega-hz.de

Erhard
Beiträge: 1188
Registriert: 04.11.2021 15:52
Has thanked: 141 times
Been thanked: 373 times
Kontaktdaten:

Listing in BASIC mit eingerücktem linken Rand

Beitrag von Erhard »

.
Manfredini66 hat geschrieben:
Heute 14:36
Bloß wie interpretiere ich das jetzt? Ist "1B" die 27 und "6C" das kleine l?? Und was bedeuten die Zeichen an Position 11 und 21?
Die $20 sind die durch das Komma verursachten Leerzeichen.
Das $0A ist Dein CHR$(10)
Das $9B ist das EOL

Und dann noch nachfolgender Schrott aus dem nicht "geflushtem" Puffer.

Insgesamt sind es 40 Bytes und das ist glaube ich genau die Puffergröße für den Drucker auf dem Atari.
Jede Info, die zu Hause auf meinem Rechner liegt habe ich unterwegs nicht verfügbar.
Jede Info, die im Netz liegt finde ich nicht wieder, wenn ich sie benötige.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast