Fehler in ATMAS-II

Moderator: Rockford

Antworten
Benutzeravatar
Olix
Beiträge: 987
Registriert: 17.08.2021 07:06
Has thanked: 117 times
Been thanked: 405 times
Kontaktdaten:

Fehler in ATMAS-II

Beitrag von Olix »

Ich bin bei meinem Assembler-Lektionen über einen seltsamen Fehler im ATMAS-II Assembler gestoßen:

Kommt im Programmcode eine STX Befehl mit Zero-Page indizierter Adresse vor, also z.B. STX $81,Y dann fügt der Assembler beim Assemblieren einen BRK nach dem STX ein.
Bei einem gleich adressierten STY (zB. STY $81,X) ist aber alles OK.

Hier die Fotobeweise:

Quellcode1:
STY1.jpg
Nach dem Assemblieren wieder im Monitor Disassembliert:
STY2.jpg
wie man sieht, alles so wie es sein soll.


und hier Quellcode 2:
STX1.jpg
Nach dem Assemblieren wieder im Monitor Disassembliert:
STX2.jpg
... und hier kann man den eingeschmugglten BRK sehen!


Falls es da unter Euch Profis noch irgendjemand gibt, der noch einen oldschool ATMAS-II Assembler im Zugriff hat, kann er das mal bitte gegenprüfen.
VIelleicht mach ich ja auch irgendwas falsch, oder eben doch ein Fehler - aber den hätte doch schon mal jemand merken müssen.

Benutzeravatar
dl7ukk
Beiträge: 531
Registriert: 25.08.2021 23:03
Has thanked: 69 times
Been thanked: 99 times
Kontaktdaten:

Re: Fehler in ATMAS-II

Beitrag von dl7ukk »

Hi,

hier mal Deine Eingaben im 130XE+ Assembler
atari018.png
atari018.png (2.09 KiB) 2947 mal betrachtet
atari017.png
atari017.png (3.07 KiB) 2947 mal betrachtet

dl7ukk

Benutzeravatar
Olix
Beiträge: 987
Registriert: 17.08.2021 07:06
Has thanked: 117 times
Been thanked: 405 times
Kontaktdaten:

Re: Fehler in ATMAS-II

Beitrag von Olix »

Oh den Assembler kenn ich har nicht . Muss ich mir mal anschauen.

Könntest du das aber bitte auch noch in einem ATMAS II testen. Denn ich würde ja gerne wissen ob auch bei anderen Leuten der Fehler im ATMAS auftritt.

Benutzeravatar
dl7ukk
Beiträge: 531
Registriert: 25.08.2021 23:03
Has thanked: 69 times
Been thanked: 99 times
Kontaktdaten:

Re: Fehler in ATMAS-II

Beitrag von dl7ukk »

Hi,

sorry ich habe den ATMAS-II nicht; besser nie benutzt.
Aber ich habe Nortobor angeschrieben, er steck da voll drin.

dl7ukk

Erhard
Beiträge: 555
Registriert: 04.11.2021 15:52
Has thanked: 52 times
Been thanked: 111 times
Kontaktdaten:

Fehler in ATMAS-II

Beitrag von Erhard »

Hi,

es wird hier vermutlich kein BRK eingefügt sondern eben $0080 statt $80, obwohl das natürlich zum gleichen (falschen) Ergebnis führt.

Ich weiß nicht mehr wo, aber garantiert nicht bei ATMAS weil ich den noch nie verwendet habe, aber das Problem (Einfügen einer 16-Bit-Adresse bei ZP-Adressierung), sowas habe ich schon früher einmal gesehen und nicht zwingend bei STX.

Hm, ich meine, das wäre das Atari 400/800 OS Source Listing gewesen. Aber da stand es anderes rum, eben sowas wie 8D8000, also STA $0080 (unnötige 16 Bit Adressierung für ZP). Vielleicht konnte deren Assembler kein STA ZP ($85).

Ich finde ATMAS in meinem Archiv gerade nur in v1 und hab ihn gerade mal geladen. Ich werde ja schon bei der (versuchten) Bedienung bekloppt. Bei jedem zweiten Tastendruck springt er in irgendein Menü aus dem ich nicht wieder zurück komme außer ich boote neu. Und das was ich für den Editor halte ist (für mich) der totale Horror. Alles was man tippt schreibt er, auch wenn es z.B. die BKSP Taste ist (also das letzte Zeichen löschen). Äh, nö, ohne Handbuch geht da gar nix.

CU, Erhard

Benutzeravatar
dl7ukk
Beiträge: 531
Registriert: 25.08.2021 23:03
Has thanked: 69 times
Been thanked: 99 times
Kontaktdaten:

Re: Fehler in ATMAS-II

Beitrag von dl7ukk »

Olix hat geschrieben:
24.06.2022 22:04
Könntest du das aber bitte auch noch in einem ATMAS II testen. Denn ich würde ja gerne wissen ob auch bei anderen Leuten der Fehler im ATMAS auftritt.
---> PN


dl7ukk

Benutzeravatar
Olix
Beiträge: 987
Registriert: 17.08.2021 07:06
Has thanked: 117 times
Been thanked: 405 times
Kontaktdaten:

Re: Fehler in ATMAS-II

Beitrag von Olix »

Erhard hat geschrieben:
25.06.2022 10:28
es wird hier vermutlich kein BRK eingefügt sondern eben $0080 statt $80, obwohl das natürlich zum gleichen (falschen) Ergebnis führt.
Danke Erhard, dass du dich bemüht hast, auch wenn der ATMAS-II nicht der Assembler deiner Wahl ist.
Ich nutze ihn momentan zum lernen, da ich den damals in den 80ern im Original hatte und meine ersten Gehversuche in Assembler gemacht habe. Bin damals aber nie weit gekommen.
Jetzt nehme ich meine Gehversuche wieder auf und meine bekannt Umgebung war eben der ATMAS-II. Als altes Gewohnheitstier nutze ich ihn eben jetzt wieder. Das hat noch mehr Gründe:
  • Aus nostalgischen Gründen macht es mir auf Originalhardware oder zumindest im Emulator mehr Spaß als mit einem Cross-Assembler.
  • Zum lernen finde ich es besser wenn man vieles selber machen und verstehen muss.
  • Ich mag den Volltexteditor ohne Zeilennummern des ATMAS-II
So jetzt nochmal zum eigentlichen Problem:
Ja genau, wie es aussieht interpretiert der ATMAS den LDX in diesem Fall als 3Byte Befehl und füllt eine Null auf. Obwohl er ihn richtig mit dem Opcode "96" übersetzt.
Und "96" sollte eigentlich ein 2 Byte Befehl sein: Zero-Page Adresse mit Y-Register als Offset für die Indizierung.

Dummerweise wird dann die letzte 00 dieses falsch überstzten 3 Byte Codes im Programmablauf als BRK interpretiert und mein Programm wird immer an der Stelle beendet und die Steuerung wieder dem Assembler/Monitor übergeben.

Als Notbehelf habe ich die 00 (BRK) einfach nach der Assemblierung im Monitor mit einem NOP ($EA) überschrieben. Zumindest läuft dann mein Programm.
Aber das ist natürlich nicht wirklich eine Lösung.

Benutzeravatar
Olix
Beiträge: 987
Registriert: 17.08.2021 07:06
Has thanked: 117 times
Been thanked: 405 times
Kontaktdaten:

Re: Fehler in ATMAS-II

Beitrag von Olix »

dl7ukk hat geschrieben:
24.06.2022 21:56

hier mal Deine Eingaben im 130XE+ Assembler
.... das war ein guter Hinweis mit dem 130XE+ Assembler. Der ist ja sehr ähnlich der Bedienung des ATMAS-II , bietet aber den Vorteil, deutlich mehr Speicher für den Programmcode frei zu lassen. Und vor allem hat er auch einen Volltext-Editor ohne Zeilennummern.

Ich kämpfe nur noch ein wenig mit der Konfiguration der Arbeitsdiskette. Wie es aussieht mag er keine 512K Speichererweiterung nach Rambo. (Die habe ich auf meinem Arbeits-130XE normal drauf). Das Konfigurationsprogramm stürzt immer beim Prüfen der RAM-Einstellung ab.

Ist aber kein Beinbruch, da im Emulator eh egal, wird eben Compy-Shop eingestellt und bei meiner echten hardware kann ich ja auch auf 265K Compy-Shop Modus umstellen.

Erhard
Beiträge: 555
Registriert: 04.11.2021 15:52
Has thanked: 52 times
Been thanked: 111 times
Kontaktdaten:

Fehler in ATMAS-II

Beitrag von Erhard »

Hi,

Olix hat geschrieben:
25.06.2022 11:39
Aus nostalgischen Gründen macht es mir auf Originalhardware oder zumindest im Emulator mehr Spaß als mit einem Cross-Assembler.
Zum lernen finde ich es besser wenn man vieles selber machen und verstehen muss.
Ich mag den Volltexteditor ohne Zeilennummern des ATMAS-II
das geht mir in allen Punkten genau so. Den Volltexteditor ohne Zeilennummern mit Bildlauf in beide Richtungen ist auch genau das, was mir am Mac/65 fehlt.

Aber den hab ich halt vor den anderen Assemblern gekannt, das Teil ist schnell, die Bedienung für mich verständlich, die Optionen reichhaltig und ich hab alles damit gemacht: das reassemblierte Quellisting des XL-XE-OS mit der 400er Quelle als Vorlage, das Betriebssystem des HDI und viele Tools inklusive des Sektorkopierers.

Vielleicht kannst Du den vermeintlichen Bug im ATMAS II mit einem Makro umgehen. Vielleicht gibt es auch ein Bugfix und Du kannst Deinen entsprechend anpassen (patchen)?

CU, Erhard

Benutzeravatar
Dr. Irata
Beiträge: 937
Registriert: 24.08.2021 14:40
Has thanked: 110 times
Been thanked: 268 times
Kontaktdaten:

Re: Fehler in ATMAS-II

Beitrag von Dr. Irata »

Ich hatte am Anfang (letztes Jahr) zuerst mit dem Atari Assembler Editor und danach mit dem Mac65 gestartet und probiert. Das Hauptproblem ist auf jeden Fall die fehlende Möglichkeit des hoch- und runterscrollens ... wenn ein Programm größer wird, verliert man hier sicherlich schnell die Übersicht.
ATMAS-II habe ich nicht ausprobiert und bin ja direkt dann zu dem Crossassembler gewechselt.
Jeder muss das natürlich so machen, wie er es für sich am besten findet - ich kann aus persönlicher Erfahrung allerdings sagen, daß es viel einfacher ist und auch eine Menge Zeit spart, umfangreiche Programme mit einem modernen Crossassembler zu schreiben.
Folgende Vorteile hat man:
1. Wenn die Programme größer werden behalte ich relativ einfach die Übersicht wegen eines größeren Bildschirmes, wegen Prozeduren und Makros, wegen Subroutinen, die ich auf-/ und zuklappen kann.
2. Man kann sehr einfach größere Programmcodes auslagern und in das Hauptprogramm einbinden (beim Compilieren entsteht dann der komplette Code).
3. Ausgelagerte Programmteile kann man jederzeit woanders wiederverwenden durch drag/drop
4. Alle Programme oder Programmteile sind in einer Baumstruktur einfach zu verwalten - wiederzufinden - abzuspeichern.
5. Der größte Vorteil ist sicherlich das Codetesten: Ich füge einen kleinen neuen Programmteil ein, klicke auf den Emulator und der Emulator testet sofort das Programm mit dem neuen Part... hier sehe ich sofort ob es passt oder nicht. Stürzt das Programm ab, kann ich sofort sehen woran es ligt, den Code ändern usw...
6. Ich kann im Emulator sehr einfach alle System ausprobieren (Atari 400 - Atari 130XE / Pal - NTSC).
7. Der Emulator verfügt über ganz einfache Tools, womit ich ein .atr generieren und verwalten kann.

Am Ende ist es doch egal, wie man ein Programm erstellt... Hauptsache es macht einem selber Spass und man ist zufrieden mit dem Ergebnis.
Ich persönlich spiele am liebsten auf der Originalmaschine, ein komplexe Programm erstellen macht unter Crossassembler / Eclipse / WUDSN am meisten Spass!!
Ein schönen Sonntag noch uns allen
Gruß
Peter

Benutzeravatar
DjayBee
Beiträge: 625
Registriert: 17.08.2021 04:02
Has thanked: 384 times
Been thanked: 175 times
Kontaktdaten:

Re: Fehler in ATMAS-II

Beitrag von DjayBee »

Probier mal das angehängte Image.
Es stammt von einer Originaldiskette.

Evtl. kannst du ja dein Image hier auch mal anhängen.
Dateianhänge
ATMAS-II (1985)(Hofacker)(DE)[m].atr
(90.02 KiB) 51-mal heruntergeladen

Benutzeravatar
DjayBee
Beiträge: 625
Registriert: 17.08.2021 04:02
Has thanked: 384 times
Been thanked: 175 times
Kontaktdaten:

Re: Fehler in ATMAS-II

Beitrag von DjayBee »

Ich glaube etwas gefunden zu haben.

Probier mal diese Version.
ATMAS-II (1985)(Hofacker)(DE)[m][h LDX].atr
(90.02 KiB) 50-mal heruntergeladen

Es gibt eine Tabelle, die vermutlich die Mnemonics zu Opcodes wandelt, und bei der bestimmte Positionen die Adressierungsart bestimmen.
Es scheint, dass der Opcode für LDX ZP,Y um eines nach hinten verschoben ist und deshalb als LDX ABS,Y interpretiert wird. Im angehängten ATR habe ich ihn versuchsweise um ein Byte nach vorne geschoben.

Code: Alles auswählen

                ## ZP AB ZX AX ZY AY X)
STX 53 54 D8 00 00 86 8E 00 00 00 96 00 D6 67 46 15 4A (original)
STX 53 54 D8 00 00 86 8E 00 00 96 00 00 D6 67 46 15 4A (patched)
STY 53 54 D9 00 00 84 8C 94 00 00 00 00 D6 67 46 00 00
LDX 4C 44 D8 00 A2 A6 AE 00 00 B6 BE 00 D6 67 46 00 00
LDY 4C 44 D9 00 A0 A4 AC B4 BC 00 00 00 D6 67 46 D0 4A
LDA 4C 44 C1 00 A9 A5 AD B5 BD 00 B9 A1 D6 67 46 00 00
Es fällt auch auf, dass es keinen Eintrag für LDA (ZP),Y (Opcode $B1) gibt.

Benutzeravatar
Olix
Beiträge: 987
Registriert: 17.08.2021 07:06
Has thanked: 117 times
Been thanked: 405 times
Kontaktdaten:

Re: Fehler in ATMAS-II

Beitrag von Olix »

Genial!

Das sieh mal auf den ersten Blick gut aus:
STX.jpg
STX.jpg (11.27 KiB) 2784 mal betrachtet
Ich muss mal ein wenig rumspielen, nicht dass es noch irgendwelche Quereffekt mit dem Patch gibt.
Ansonsten schon mal vielen Dank, wirklich gut gemacht.

Ich frage mich nun natürlich wie konnte dieser Fehler solange unentdeckt bleiben?
Ich habe das übrigens auch mal auf Originalsoftware mit meiner Original Hofacker ATMON-II Diskette getestet. Da ist der Fehler auch vorhanden.

Ich fände es gut, wenn im AtariWIKI (https://atariwiki.org/) ein entsprechender Hinweis zu dem Thema erscheint und vielleicht sogar dein Patch.
Wie gehe ich da am besten vor?

Benutzeravatar
DjayBee
Beiträge: 625
Registriert: 17.08.2021 04:02
Has thanked: 384 times
Been thanked: 175 times
Kontaktdaten:

Re: Fehler in ATMAS-II

Beitrag von DjayBee »

Der Master of Wiki ist luckybuck.

Probier bitte auch mal aus, was passiert, wenn du einen LDA (zeropage),Y assemblierst.
Ich frage mich nun natürlich wie konnte dieser Fehler solange unentdeckt bleiben?
Wir haben auf derletzten Fujiama versucht, etwas mit ATMAS-I zu assemblieren und haben übrhaupt nichts erzeugen könne. Auch das war ein Dump einer originaldiskette.

Btw.: Kannst du deine Originaldiskette von ATMAS-II bitte mal dumpen und hier hochladen. Dann könnten wir sie mit dem Dump von a8preservation vergleichen und evtl. als "verifiziert" markieren.

Benutzeravatar
Olix
Beiträge: 987
Registriert: 17.08.2021 07:06
Has thanked: 117 times
Been thanked: 405 times
Kontaktdaten:

Re: Fehler in ATMAS-II

Beitrag von Olix »

DjayBee hat geschrieben:
27.06.2022 09:45
Kannst du deine Originaldiskette von ATMAS-II bitte mal dumpen und hier hochladen. Dann könnten wir sie mit dem Dump von a8preservation vergleichen und evtl. als "verifiziert" markieren.
Klar kann ich machen.
Reicht da eine normale Kopie per Sektor-Kopierer in ein ATR-File? (Die Originaldiskette hat keinen Kopierschutz)

Benutzeravatar
Dr. Irata
Beiträge: 937
Registriert: 24.08.2021 14:40
Has thanked: 110 times
Been thanked: 268 times
Kontaktdaten:

Re: Fehler in ATMAS-II

Beitrag von Dr. Irata »

Da gab es gerade auf Ebay eine Original ATMAS-II Diskette mit Buch von Peter Finzel zu ersteigern... allerdings nicht ganz billig mit 79,99 plus Versand....

Benutzeravatar
Olix
Beiträge: 987
Registriert: 17.08.2021 07:06
Has thanked: 117 times
Been thanked: 405 times
Kontaktdaten:

Re: Fehler in ATMAS-II

Beitrag von Olix »

DjayBee hat geschrieben:
27.06.2022 09:45

Probier bitte auch mal aus, was passiert, wenn du einen LDA (zeropage),Y assemblierst.
Funktioniert:
lda-ind.jpg
lda-ind.jpg (24.02 KiB) 2761 mal betrachtet

Benutzeravatar
DjayBee
Beiträge: 625
Registriert: 17.08.2021 04:02
Has thanked: 384 times
Been thanked: 175 times
Kontaktdaten:

Re: Fehler in ATMAS-II

Beitrag von DjayBee »

Olix hat geschrieben:
27.06.2022 10:24
Reicht da eine normale Kopie per Sektor-Kopierer in ein ATR-File? (Die Originaldiskette hat keinen Kopierschutz)
Ja, genügt erstmal zur Verifikation.
Das ATR von mir stammt von einem Fluxdump einer Originaldiskette.

Benutzeravatar
luckybuck
Beiträge: 110
Registriert: 18.06.2021 23:01
Has thanked: 55 times
Been thanked: 36 times
Kontaktdaten:

Re: Fehler in ATMAS-II

Beitrag von luckybuck »

Hallo zusammen!

Danke DjayBee für den Hinweis.

Freddy ist hier der Held, er hatte das Problem schon 1997 gelöst und es führte zur Version 1.1.

Habe es selber ausprobiert, läuft!

Habe euch den Patch von Freddy beigefügt.

Ja, sollte auf die Wiki und kommt zumindest als Patch darauf. Problem: Hofacker ist die einzige und letzte Software aus deutschen Landen, die nicht in PD beim ABBUC ist, daher werde ich auch nichts von Hofacker veröffentlichen, um die eigenen Verhandlungen nicht zu blockieren. Bleibt aber bitte dran, ggf. löst sich das alles bald in Wohlgefallen. :-)
Dateianhänge
ATMAS II patch 1.1.zip
(142.33 KiB) 12-mal heruntergeladen
Schöne Grüße,
Luckybuck
Atari WIKI, Atarimania & Archive.org

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast