Welcher Assembler für Sparta-Dos auf echter Hardware?

1, 2

Welcher Assembler für Sparta-Dos auf echter Hardware?

von Sleepy » Mo 8. Mär 2021, 07:51
Hi,

meine ersten Gehversuche in Assembler habe ich vor gefühlten 100 Jahren mit dem 130 XE Makroassembler gemacht; dann kam meine jetzige Frau... :wink:

Aus gegebenen Anlass ist es jetzt soweit, dass ich mir ein paar Assemblerroutinen schreiben muss. Also den Assembler raausgekramt, versucht ihn auf meinen Arbeitsrechner zu ziehen (U1MB+CF3 bzw. SIDE 2) und... geht nicht:

Den Rechner mit Sparta-Dos von der U1MB gestartet und die Systemdisketten als D4: und D5: via sio2sd angeschlossen. Ich kann von Sparta-Dos aus nicht auf die mit MyDos erstellten Systemdisketten zugreifen.

Welchen Sparta-Dos-kompatiblen Assembler nehme ich da am besten?

Es geht erst mal um Routinen für Finescrolling in Gr.12.


Sleepy

Re: Welcher Assembler für Sparta-Dos auf echter Hardware?

von GoodByteXL » Mo 8. Mär 2021, 09:13
Sleepy hat geschrieben:Welchen Sparta-Dos-kompatiblen Assembler nehme ich da am besten?

Brandaktuell: Fast Assembler

Welcher Assembler für Sparta-Dos auf echter Hardware?

von Erhard » Mo 8. Mär 2021, 09:34
Hi Sleepy,

ich habe immer alles mit dem Mac/65 Modul gemacht.

Ist super schnell und es bleibt recht viel freier Speicher.

Dann noch die Uhrzeit von APE, SIO2USB oder einer echten R-TIme-8 laden und die eigenen Dateien haben sogar die richtigen Zeitangaben.

CU, Erhard

Re: Welcher Assembler für Sparta-Dos auf echter Hardware?

von GoodByteXL » Mo 8. Mär 2021, 14:46
Sleepy hat geschrieben:meine ersten Gehversuche in Assembler habe ich vor gefühlten 100 Jahren mit dem 130 XE Makroassembler gemacht;

Der verlinkte MA ist die Version 4.50, die eine von T.K. programmierte Batchverarbeitung mitbringt. Dieses spezielle System kann SDX nicht nachvollziehen, da es den MyDOS-Standard offenbar nicht einhält, und daher nicht öffnen. Eine normale MyDOS-Disk kann SDX schon lesen.

Auf der von dir verlinkten Seite ist die Anleitung zu MA 4.3 abgelegt, der noch unter DOS 2.5 läuft.

Den MAC/65 würde ich nicht unter SDX verwenden, da er zickig ist und sich nicht gut in das System einfügt (siehe SDX User Guide).

Re: Welcher Assembler für Sparta-Dos auf echter Hardware?

von dl7ukk » Mo 8. Mär 2021, 15:37
Hi,

beim Problem kann ich nicht wirklich helfen. Aber:

130XE+ läuft unter MyDos 4.50 und weiteren DOSen, Welche es sind, wurde nur nicht explizit von T.K. getestet.
Und, dass verlinkte Manual ist ja gruselig
130XE+.pdf
(168.73 KiB) 38-mal heruntergeladen



dl7ukk

Re: Welcher Assembler für Sparta-Dos auf echter Hardware?

von GoodByteXL » Mo 8. Mär 2021, 18:45
dl7ukk hat geschrieben:130XE+ läuft unter MyDos 4.50 und weiteren DOSen, Welche es sind, wurde nur nicht explizit von T.K. getestet. Und, dass verlinkte Manual ist ja gruselig
130XE+.pdf

Jetzt wird es ein wenig unübersichtlich, denn:

Das Link von Sleepy weist auf eine Seite, auf der die originale Anleitung (V. 4.3 unter DOS 2.5) nicht zur Software (V. 4.5 unter MyDOS mit Batchverarbeitung) gehört.

Die von dir angebotene Anleitung nennt sich V. 2.1 - aber keine Software dabei.

Vielleicht sollte man bei den Links mal Software und Anleitung in Einklang bringen.

Und die Ursprungsfrage war:
Sleepy hat geschrieben:Welchen Sparta-Dos-kompatiblen Assembler nehme ich da am besten?

Re: Welcher Assembler für Sparta-Dos auf echter Hardware?

von dl7ukk » Di 9. Mär 2021, 05:03
Hallo,

GoodByteXL hat geschrieben:
dl7ukk hat geschrieben:130XE+ läuft unter MyDos 4.50 und weiteren DOSen, Welche es sind, wurde nur nicht explizit von T.K. getestet. Und, dass verlinkte Manual ist ja gruselig
130XE+.pdf

Jetzt wird es ein wenig unübersichtlich, denn:

Das war mir auch aufgefallen ...

Das Link von Sleepy weist auf eine Seite, auf der die originale Anleitung (V. 4.3 unter DOS 2.5) nicht zur Software (V. 4.5 unter MyDOS mit Batchverarbeitung) gehört.

Leider ist das atariwiki nicht auf dem "letzten Stand". Ich selber kann und werde daran auch viel ändern, weil dieses Wiki (fast durchgängig) auf englisch ist ...

Die von dir angebotene Anleitung nennt sich V. 2.1 - aber keine Software dabei.

Die SW oder besser der 130XE+ Makro-Assember V. 2.2 ist in unserer (Abbuc) PD- Bibliothek unter Nr. 368 zu finden. (Ich glaube die hattest Du sogar noch eingepflegt. :notworthy: ) Die Anleitung dazu, auf der B Seite des ATRs, trägt aber auch (nur) die Versionsnummer V. 2.1

1.png
1.png (64.56 KiB) 956-mal betrachtet

Vielleicht sollte man bei den Links mal Software und Anleitung in Einklang bringen.

s. o.

Und die Ursprungsfrage war:
Sleepy hat geschrieben:Welchen Sparta-Dos-kompatiblen Assembler nehme ich da am besten?

:yes:



dl7ukk

Re: Welcher Assembler für Sparta-Dos auf echter Hardware?

von Sleepy » Di 9. Mär 2021, 06:49
Die von dl7ukk verlinkte Anleitung habe ich auch noch ausgedruckt da - damals über den ABBUC bezogen. :-) Sie ist deutlich "userfreundlicher" aufgemacht. :-) Finde sie nach dem Umzug meines ATARI-Kellerraumes in ein anderes Zimmer nur gerade nicht. :-(

Ich hab´ gestern schon geschafft mit altirra die Files von der originalen Masterdisk auf eine normale MyDos-Disk (ATR) umzukopieren, die via sio2sd dann von SDX (U1MB) erkannt wird und sich auf die CF-Karte (CF3/Side2) kopieren läßt, also die einzelnen Files. Da fehlte nur noch was, da ich noch nicht die komplette Disk inkl. Unterverzeichnisse `rüberkopiert habe, sondern nur ein paar einzelne, handverlesene Dateien. Der Assembler startet, meckert aber rum dass ihm etwas fehlt.

So konnte ich den Assembler zumindest schon mal von SDX aus starten.

Der Fast-Assembler scheint mir ein nackter Compiler zu sein, bei dem ich mit einem (zusätzlichen) Editor / Textverarbeitung den Quellcode eingebe und diese Datei dann mit Fast-Assembler in ein EXE-File umwandele.

Das hätte den Vorteil, daß ich Last Word VBXE als Editor nutzen könnte und damit eine lupenreine 80-Zeichen-Darstellung, in der ich frei hin- und herscrollen kann, hätte.

Das ist grundsätzlich wohl der effektivste Weg, aber für mich (in fange praktisch bei Null an) etwas umständlich / fehlerträchtiger. Der Macro-Ass überprüft bei der Eingabe direkt den Syntax bzw. auf grobe Fehler, was ein normaler Texteditor nicht macht. Bis ich da sicher bin, ist das für mich erst mal eine enorme Hilfe... :mrgreen:

Langfristig ist der Fast-Assembler, da speziell auf SDX angepaßt, vermutlich die effektivere Wahl, auch was die Länge der möglichen Programme angeht. Ich würde vermuten dass er da die Nase vorn hat.


In der Anleitung habe ich gerade auch einem Hinweis auf eine unbekannte Hardware gefunden:
Ron-Disk.PNG
Ron-Disk.PNG (3.73 KiB) 949-mal betrachtet


Ist vermutlich - rein alphabetisch betrachtet - das Nachfolgemodell der ROM-Disk. :mrgreen:

Die müßte ich auch noch - mit dem Makro-Assembler und Turbo-Basic bestückt, in einer Schublade liegen haben... Das war damals eine echt fixe Kombination. Aber das aktuelle Setup ist da mit der CF-Karte nicht langsamer.
Aber deutlich flexibler. :goteam:


Sleepy

Re: Welcher Assembler für Sparta-Dos auf echter Hardware?

von Sleepy » Di 9. Mär 2021, 08:44
GoodByteXL hat geschrieben:Der verlinkte MA ist die Version 4.50, die eine von T.K. programmierte Batchverarbeitung mitbringt. Dieses spezielle System kann SDX nicht nachvollziehen, da es den MyDOS-Standard offenbar nicht einhält, und daher nicht öffnen. Eine normale MyDOS-Disk kann SDX schon lesen.


Kann SDX diese spezielle Disk grundsätzlich nicht lesen oder reicht es ein neue DOS-Files auf die Disk zu spielen bzw. die passende Batch-Datei zu löschen?

Ich würde eigentlich erwarten daß SDX die MyDOS-Disk grundsätlich erst mal erkennt, auch wenn man ggf. nicht auf Untermenüs oder ähnliche zugreifen kann...

Sleepy

Re: Welcher Assembler für Sparta-Dos auf echter Hardware?

von GoodByteXL » Di 9. Mär 2021, 13:14
Sleepy hat geschrieben:
GoodByteXL hat geschrieben:Der verlinkte MA ist die Version 4.50, die eine von T.K. programmierte Batchverarbeitung mitbringt. Dieses spezielle System kann SDX nicht nachvollziehen, da es den MyDOS-Standard offenbar nicht einhält, und daher nicht öffnen. Eine normale MyDOS-Disk kann SDX schon lesen.


Kann SDX diese spezielle Disk grundsätzlich nicht lesen oder reicht es ein neue DOS-Files auf die Disk zu spielen bzw. die passende Batch-Datei zu löschen?

Ich würde eigentlich erwarten daß SDX die MyDOS-Disk grundsätlich erst mal erkennt, auch wenn man ggf. nicht auf Untermenüs oder ähnliche zugreifen kann...

Mit MyDOS befasse ich mich schon lange nicht mehr und kann dazu nichts sagen außer:

Der beste Assembler für SDX auf echter Hardware ist der über die Homepage von SDX verlinkte. Er ist brandaktuell (18.01.2021) und wird von einem ABBUCianer betreut.

Erwarten würde ich in dem Zusammenhang eigentlich, dass man sich mal den SDX User Guide heranzieht, um so spezielle Fragen zu beantworten. Da der digital vorliegt, lässt er sich prima durchsuchen.

Re: Welcher Assembler für Sparta-Dos auf echter Hardware?

von Sleepy » Di 9. Mär 2021, 13:35
GoodByteXL hat geschrieben:Erwarten würde ich in dem Zusammenhang eigentlich, dass man sich mal den SDX User Guide heranzieht, um so spezielle Fragen zu beantworten. Da der digital vorliegt, lässt er sich prima durchsuchen.


Ja, die betreffenden Anleitungen habe ich (aktuell neben dem Profibuch, dem DeReAtari, dem Turbo-Basic-XL-Buch und ein paar mehrseitigen Anleitungen zum DLI / Finescrolling) auch (ausgedruckt/in Buchform) auf dem Tisch liegen. Wenn zufällig schon einmal jemand vor genau dieser Frage gestanden hat, ist sie schneller beantwortet, als wenn ich die Anleitungen durchsehe und Stunden mit viel probiererei mit einer Frage verbringe, die hier vlt. in 5 Minuten beantwortet ist. Bei mir dauert es halt leider so lange. Mein Gedächtnis gehört dummer Weise nicht zu der Spezie "was ich einmal gelesen habe, weiß ich"; ich muss eine Anleitung x mal durchlesen (das gilt selbst für die von mir selbst verfassten) bis ich ungefähr weis, was drinsteht. Das kostet unheimlich viel Zeit.

Warum ich anfangs auf den vertrauten Assembler zurückgreifen wollte, habe ich oben erläutert; das ist nicht aus Langeweile/Faulheit.

Sleepy

Re: Welcher Assembler für Sparta-Dos auf echter Hardware?

von janzh » Di 9. Mär 2021, 15:23
Hallo,

Ich nutze am liebsten den FastAssembler:
https://github.com/HolgerJanz/FastAssembler

Es ist ein Kommandozeilen Tool und unterstütz auch SpartaDOS Blocks.

Als Editor nutze ich XEDIT von FJC.

Er hat auch einen MA65 Kommandozeilen Assembler (klassisch ohne SpartaDOS Blocks):
https://atariage.com/forums/topic/135977-ma65-macro-assembler-for-spartados-with-xedit/?tab=comments#comment-1672120


Bis bald
Holger

Re: Welcher Assembler für Sparta-Dos auf echter Hardware?

von Sleepy » Di 9. Mär 2021, 22:32
XEDIT habe ich nach etwas Suchen gefunden; auf der Seite von FJC ist er nicht (mehr?) aufgeführt, aber in dem auf AA verlinkten MA65-Set ist er enthalten. -:)

Die in dem Fast-Assenbler hinterlegte (deutsche) Doku ist für XEDIT wohl zu lang; mit The Last Word konnte ich sie aber öffnen.

Ich hab´ mit The Last Word die deutsche Anleitung dann etwas in Form gebracht (und sie dabei ein erstes mal durchgelesen). Ich werd´dann mal versuchen die Assembler-Beispiele aus dem Scrolling-Tutorial mit XEDIT oder The Last Word und dem Fast-Assembler in den Speicher zu bringen. ;-)

Das mit dem 130XE-Makroassembler ist mir doch irgendwie zu heiß unter SDX (wenn ich auch die automatische Syntaxüberprüfang sehr geschätzt habe)... nicht, dass ich ihn zwar irgendwie zum Laufen kriege, mir aber durch irgendwelche (für mich) nicht offensichtlichen Inkompatibilitäten Fehler/Probleme einhandele, die ich dann in meinem Assembler-Versuchen suche... :-/

Sleepy

Re: Welcher Assembler für Sparta-Dos auf echter Hardware?

von GoodByteXL » Mi 10. Mär 2021, 08:36
Off Topic:
Sleepy hat geschrieben:
GoodByteXL hat geschrieben:Erwarten würde ich in dem Zusammenhang eigentlich, dass man sich mal den SDX User Guide heranzieht, um so spezielle Fragen zu beantworten. Da der digital vorliegt, lässt er sich prima durchsuchen.


Ja, die betreffenden Anleitungen habe ich (aktuell neben dem Profibuch, dem DeReAtari, dem Turbo-Basic-XL-Buch und ein paar mehrseitigen Anleitungen zum DLI / Finescrolling) auch (ausgedruckt/in Buchform) auf dem Tisch liegen.

Genau darauf zielte meine nicht negativ gemeinte Anmerkung ab: Digitalisierte Anleitungen/Bücher/Magazine etc. ggf. auch 'stapelweise' per Script nach Stichworten wie in diesem Fall 'MyDOS' zu durchsuchen, kann jeder PC in Windeseile. Natürlich ist es schön, Druckerzeugnisse zu durchschmökern. Für die gezielte Suche sind digitalisierte Dokumente jedoch unschlagbar. In diesem Beispiel wäre es nur ein Dokument gewesen.

Selbst ich als Dinosaurier suche bzw. schlage fast nur noch digital nach. Hier zeigt sich das lohnende Ergebnis von über 20 Jahren scannen und archivieren. Dadurch konnte ich auch relativ einfach einige Bücher komplett re-editieren.

Re: Welcher Assembler für Sparta-Dos auf echter Hardware?

von janzh » Mi 10. Mär 2021, 11:14
Sleepy hat geschrieben:XEDIT habe ich nach etwas Suchen gefunden; auf der Seite von FJC ist er nicht (mehr?) aufgeführt, aber in dem auf AA verlinkten MA65-Set ist er enthalten. -:)

Die in dem Fast-Assenbler hinterlegte (deutsche) Doku ist für XEDIT wohl zu lang; mit The Last Word konnte ich sie aber öffnen.

Ich hab´ mit The Last Word die deutsche Anleitung dann etwas in Form gebracht (und sie dabei ein erstes mal durchgelesen). Ich werd´dann mal versuchen die Assembler-Beispiele aus dem Scrolling-Tutorial mit XEDIT oder The Last Word und dem Fast-Assembler in den Speicher zu bringen. ;-)

Das mit dem 130XE-Makroassembler ist mir doch irgendwie zu heiß unter SDX (wenn ich auch die automatische Syntaxüberprüfang sehr geschätzt habe)... nicht, dass ich ihn zwar irgendwie zum Laufen kriege, mir aber durch irgendwelche (für mich) nicht offensichtlichen Inkompatibilitäten Fehler/Probleme einhandele, die ich dann in meinem Assembler-Versuchen suche... :-/

Sleepy


Du kannst XEDIT mit X starten (oder COMEXE.SYS nutzen und in XEDIT.EXE umbenennen), dann hast du 8k mehr.
Die Source von FastAssembler selbst ist zu groß im Moment (noch nicht zerlegt). Der assembler kann sich aber selbst übersetzen (Source kann man extern auf Mac/Win bearbeiten).

Re: Welcher Assembler für Sparta-Dos auf echter Hardware?

von Sleepy » Sa 27. Mär 2021, 06:44
Also... ich versuche mich zur Zeit an einem ganz einfachen Beispieloprogram (aus einem Scrolling-TUT, im original MAC/65-kompatibel). Da finde ich nicht den korrekten Syntax für Labels.

Eine etwas ausführlichere Anleitung zu FA hab´ ich noch nicht gefunden (von dem DOC-Files in dem oben verlinkten github-Verzeichnis abgesehen).

Dort ist auf die 100%ige kompatibilät zu Quick Assembler hingewiesen, für den habe ich aber nur eine polnische Anleitung gefunden... polnisch ist nun nicht gerade meine Stärke. :scratch_head

Gibt es zu einem der beiden Assembler eine etwas ausführlicher Anleitung für Dummies auf Deutsch oder Englisch?

Im Detail habe ich folgende Fehlermeldung:

Code: Alles auswählen
Pass 0:
line 33
Undeclared labels : 3

Pass 1:
line 33, 100% of file

Labels: 1 SDX-Symbols: 0
Blocks: 1 SDX-Blocks:0


Die angemeckerte Zeile wäre "FIN JMP $E462"

Das Progrämmchen:
Code: Alles auswählen
ORG $0600
PLA
LDY #10
LDX #6
LDA #7
JMP $E45C
INC $CB
LDA #1
CMP $CB
BNE FIN
INC $CC
LDA $CC
STA $D405
LDA #0
STA $CB
LDA #7
CMP $CC
BCS FIN
LDA #0
STA $D405
STA $CC
LDA #40
LDY #4
CLC
ADC ($CD),Y
STA ($CD),Y
BCC FIN
INY
LDA #0
ADC ($CD),y
STA ($CD),Y
FIN JMP $E462
END


Sleepy

Re: Welcher Assembler für Sparta-Dos auf echter Hardware?

von pps » Sa 27. Mär 2021, 16:44
Hallo sleepy,

wenn Du das so, wie gequotet eingetippt hast, ist die Fehlermeldung eindeutig den Sprüngen nach FIN geschuldet. Wahrscheinlich, muss man den eigentlichen ASM Code per TAB einrücken und Labels müssen vorne in der Zeile stehen.
Zumindest ist das bei XASM und MADS der Fall. Auf dem Atari habe ich lange nicht mehr direkt geschrieben. Denke aber, dass es dort auch so sein muss.

Gruß, Ralf

Edit : Vielleicht reicht es auch, dass Label einzeln eine Zeile über dem passenden Code zu schreiben.

Re: Welcher Assembler für Sparta-Dos auf echter Hardware?

von Sleepy » Sa 27. Mär 2021, 17:31
O.K., das mit dem Einrücken scheint geholfen zu habe - jetzt habe ich statt des fehlenden Labels einen "Error 137 Truncated record -> das Label scheint er geschluckt zu habe. :-)

Sleepy

Re: Welcher Assembler für Sparta-Dos auf echter Hardware?

von pps » Sa 27. Mär 2021, 17:46
Das ist schon mal gut.

Vielleicht muss das Programm auch gestartet werden. Schreibe mal ein "run $0600" hinter das end.

Re: Welcher Assembler für Sparta-Dos auf echter Hardware?

von janzh » Do 1. Apr 2021, 16:38
Leider habe ich keine komplette Anleitung, nur Bespiele.

Hier deins für FA:
Code: Alles auswählen
     BLK DOS $0600
     PLA
     LDY #10
     LDX #6
     LDA #7
     JMP $E45C
     INC $CB
     LDA #1
     CMP $CB
     BNE FIN
     INC $CC
     LDA $CC
     STA $D405
     LDA #0
     STA $CB
     LDA #7
     CMP $CC
     BCS FIN
     LDA #0
     STA $D405
     STA $CC
     LDA #40
     LDY #4
     CLC
     ADC ($CD),Y
     STA ($CD),Y
     BCC FIN
     INY
     LDA #0
     ADC ($CD),y
     STA ($CD),Y
FIN  JMP $E462
     END


Ein paar Regeln:
- erstes Zeichen muss SPACE sein für ein Statement, wenn das erste Zeichen kein SPACE ist, wird es als labile interpretiert
- Leerzeilen dürfen keine Whitespaces enthalten, d.h. wenn eine Zeile SPACE RETURN enthält kommt es zu einem Fehler (XEDIT kann mit Control-h die Whitepaces anzeigen
- wen ein Menmonic mit Adressamgaben und impliziten Accu existiert, muss man für den Accu @ benutzen, z.B. ASL @

Bis bald
Holger
1, 2