ASDIS-Source?

ZX-Team Forum
Benutzeravatar
siggi
User
Beiträge: 2379
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ASDIS-Source?

Beitrag von siggi » 15.05.2018, 16:36

Hi Joachim
hast Du schon verstanden, wie Umsetzung Source in den Opcode geht? Dann könnte man vielleicht den Bug mit "PUSH IY" bzw. "PUSH IX" beheben?

Gruß
Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Benutzeravatar
Joachim
User
Beiträge: 996
Registriert: 06.11.2004, 20:21

Re: ASDIS-Source?

Beitrag von Joachim » 15.05.2018, 17:52

Nein, Siggi, leider noch nicht. Ich wäre froh wenn ich herausbekommen könnte, wie zu den einzelnen Funktionen verzweigt wird. Dann wüßte ich wenigstens wo ich suchen kann.
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
Joachim
User
Beiträge: 996
Registriert: 06.11.2004, 20:21

Re: ASDIS-Source?

Beitrag von Joachim » 17.05.2018, 12:15

Damit man sieht, was sich machen läßt, habe ich ein ASDIS angefertigt, das ab Adresse 32768, seine Variablen im 8 K-Block nach 32768 ablegt und einen Druckertreiber enthält. Will man jetzt die eigene Source oder Marken und Labels etc. drucken, kann man mit Taste 9 die Daten über die serielle Schnittstelle zum PC schicken. Dort muss man ein Terminalprogramm aufgerufen haben. Bitte beachten, dass die Baudrateneinstellungen die gleichen sind. Die Adressen für ZXserial sind $E3/$EB.
Die Binärdatei muss einfach nach Adresse 32768 geladen werden. Der Aufruf ist auch RAND USR 32768. Dann steht ASDIS sofort zur Verfügung.
asd32prt.zip
(20.83 KiB) 22-mal heruntergeladen
Und hier noch eine Version, die ab 40960 läuft. Für die, die den USB-Treiber für das VDRIVE ab Adr. 32768 stehen haben.
asd40prt.zip
(20.82 KiB) 20-mal heruntergeladen
Achtung: Hier gibt es die neuen Sourcen: viewtopic.php?f=2&t=483&p=36577#p36577
Zuletzt geändert von Joachim am 28.05.2018, 22:45, insgesamt 1-mal geändert.
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
siggi
User
Beiträge: 2379
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ASDIS-Source?

Beitrag von siggi » 18.05.2018, 09:03

Hallo Joachim
wie wäre es, die Druckroutine über eine Jump-Table auf fixer Adresse anzuspringen? Dann könnte User durch Patch dieser Adresse zur Laufzeit eine eigene Druckerroutine einbinden, ohne daß ASDIS nochmal komplett assembliert werden muß.

Und noch ein Tipp zur Druckerroutine: diese sollte auf jeden Fall auch einen BREAK-Ausgang haben, damit sie sich nicht aufhängt, wenn kein Drucker angeschlossen oder gar die RS232-Karte nicht gesteckt ist (diesen "Aufhänger" kenne ich noch sehr gut von frühen ASDIS-Versionen, die ich ich benutzte und die für den Drucker an der Multio-IO-Karte gepacht waren, den ich nicht habe).
Die ROM-Routine für den Sinclair-Drucker kann ja direkt erkennen, wenn kein Drucker dran ist oder ausgeschaltet ist und kehrt dann ohne Aufhänger sofort zurück.

Gruß
Siggi

Edit/Nachtrag: Die Druckerroutine sollte dann auch eingenständig ihr "iniflg" haben und verwalten (und nach Initialisierung auch auf 1 setzen :wink: ). Damit sollte ASDIS selbst sich nicht kümmern müssen ...
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Benutzeravatar
Joachim
User
Beiträge: 996
Registriert: 06.11.2004, 20:21

Re: ASDIS-Source?

Beitrag von Joachim » 18.05.2018, 13:21

Hallo Siggi,
Danke für die Hinweise. Ich Dödel habe die Break-Abfrage rausgeschmissen, weil ich Bytes sparen wollte. War aber Unsinn - die muss sein.
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
Joachim
User
Beiträge: 996
Registriert: 06.11.2004, 20:21

Re: ASDIS-Source?

Beitrag von Joachim » 28.05.2018, 22:42

Hallo zusammen!
Siggis Hinweise habe ich in die neue Version von ASDIS, soweit sie mit Printroutine sind, eingearbeitet. Es wird nun die Break-Taste abgefragt und im Falle eines Break springt das Programm wieder zur aufrufenden Routine zurück - man bleibt also in Asdis. Die eigene Druckerroutine kann durch Neuassemblierung oder durch einen Patch erledigt werden. Der Druckeraufruf ist die zweite Aufrufadresse nach der Startadresse.
Am wichtigsten aber ist in der neuen Version die Tastsache, dass ich alle Zweifel, ob es ein Label oder ein fester Wert ist, beseitigen konnte. Ich habe die Tatsache genutzt, dass Horst Kling zwei Versionen von Asdis herausgebracht hat: für den 8KB- und den Ramtop-Bereich. So konnte ich feststellen, wo in beiden Versionen die festen Werte sind. Der Rest musste dann eine Variable sein. Ausser dem Test der üblichen Routinen (Werte, Symbole, Disassemblieren etc.) habe ich meine CNC-Software mit der neuen Asdis-Source assembliert. Der Vergleich mit der bisherigen Binärdatei und der neu erzeugten ergab eine 100prozentige Übereinstimmung.
Ich habe nun mehrere Sourcen und Binärdateien zusammengepackt.
- asd8orig.asm/bin : Asdis für 8KB-Bereich mit Variablenablage ab Adr. 65204, Druck über ROM-Druckerroutine
- asd8prt.asm/bin : Asdis für 8KB-Bereich mit Variablenablage ab Adr. 65204, serieller Druck über ZXserial (9600 Bd)
- asd32prt.asm/bin : Asdis für 32KB-Berich mit Variablenablage hinter dem Programm, serieller Druck über ZXserial (9600 Bd)
- asd32pio.asm/bin : Asdis für 32KB-Berich mit Variablenablage hinter dem Programm, serieller Druck über Multiport-Karte (Baudrate über PIO)
Ich hoffe, dass ich durch das Laden, Speichern, Adressen ändern, Assemblieren usw. in die verschiedenen Versionen keinen Wurm gebracht habe. Den Druck habe ich nur mit der Multiportkarte getestet. Der Test mit ZXserial steht noch aus. Der Druck über die ROM-Druckerroutine ebenfalls. Ich konnte den EO noch nicht zum Druck mit dem ZX-Drucker bewegen. Vielleicht geht das garnicht, weil Horst Kling nicht an den Anfang der Druckroutine im ROM springt.
Sollte jemand keine Möglichkeit haben, sich seine persönliche Version von ASDIS selber zu assemblieren, genügt eine PN an mich.

ASDIS8-disass.zip
(82.35 KiB) 24-mal heruntergeladen
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
siggi
User
Beiträge: 2379
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ASDIS-Source?

Beitrag von siggi » 29.05.2018, 11:27

Joachim hat geschrieben:
28.05.2018, 22:42
Ich konnte den EO noch nicht zum Druck mit dem ZX-Drucker bewegen. Vielleicht geht das garnicht, weil Horst Kling nicht an den Anfang der Druckroutine im ROM springt.
Hallo Joachim
dann trage doch mal als Routine "myprnt" die Original-Adresse der Copy-Routine ($0869) ein. Vermutlich läuft es dann mit EO, es werden nur ein paar Zeilen zu viel "ausgedruckt".

Gruß
Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Benutzeravatar
siggi
User
Beiträge: 2379
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: ASDIS-Source?

Beitrag von siggi » 30.05.2018, 15:37

Hallo Joachim
mein EO kann durchaus mit meiner alten(*) ASDIS8K-Version "drucken" (wenn auch der "Drucker" im EO "angehakt" ist).
Wie äußert sich sich denn Dein EO/ASDIS-Nichtdruck-Problem?

Gruß
Siggi

(*) die ich irgendwann und irgendwie vom MULTI-IO-Druckertreiber auf ROM-Druckertreiber zurück pätchte ...
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Benutzeravatar
Joachim
User
Beiträge: 996
Registriert: 06.11.2004, 20:21

Re: ASDIS-Source?

Beitrag von Joachim » 30.05.2018, 17:27

Hallo Siggi,
Danke für den Häkchenhinweis, sag's aber bitte nicht weiter.
Läuft alles super. Die Zeilenzahl stimmt natürlich auch.
lprint.jpg
lprint.jpg (11.69 KiB) 606 mal betrachtet
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Antworten