Diskussion:Comal

Aus C64-Wiki
Zur Navigation springenZur Suche springen

Weiss jemand, ob dies eine echte nur-128er Version ist, oder ob nur einige 128er Zusatzfunktionen geboten werden ?

  • Fundstelle: Comal 2.02 Handbuch für Commodore 128. Ergänzung zum Handbuch Comal 2.01 für C-64 von: Joachim Neuber, Karl U Sperling (1987) Phura 08:39, 26. Sep 2006 (CEST)

Schreibweise[Quelltext bearbeiten]

Heisst es nun "Comal" oder "COMAL" ? Sonst kann man den Artikel zur richtigen Schreibweise verschieben. --Joystick 17:23, 26. Sep 2006 (CEST)

Da grüble ich auch schon seit 2 Tagen.
Primärquellen nennen es, soweit von mit gesehen (=1), immer COMAL, Sekundärquellen mal so, mal so. Nun sind wir ja auch bloß sekundär. Ich kann ja auch einen 10 Jahre alten 64er Artikel jetzt nicht umbenennen, nur weil mir die Schreibweise nicht recht ist.
Das Problem setzt sich fort mit den Versionen. Die Einschaltmeldungen setzen den Bindestrich unterschiedlich (so wie von mir verwendet). Christensen hat noch nicht die "-80" dabei (was auch immer sie bedeuten soll). Und die Bildschirmgroßbuchstaben zu übernehmen ist ja auch nicht ganz elegant. Also COMMODORE 64 COMAL-80 REV. 00.14 --> Commodore 64 COMAL-80 rev. 00.14 ?
Allerdings schreibt ja auch niemand konsequent "commodore 128D" oder "commodore 64", obwohl dies genau so an meinen Geräten dransteht.
Wie gesagt, ich grüble schon eine Weile darüber.
Ich persönlich könnte mich am ehesten damit anfreunden, im Text COMAL zu verwenden (also auch als Artikeltitel), aber Zitate in Originalschreibweise zu belassen.
Aber reden wir mal uber LOGO/Logo...
... wenn wir uns dann einig sind, irgendwann, können ja auch die Texte welche sich mit BASIC/Basic befassen noch überarbeitet werden...Phura 19:11, 26. Sep 2006 (CEST)
Man kann auch einfach einen neuen Artikel (COMAL) mit ner Weiterleitung zum Artiel setzen, dann findet ihn auch jeder gleich bzw. wird nicht fälschlicherweise ein 2 Artiel angefangen. Gilt natürlich auch für Logo / LOGO etc. Da es eine Abkürzung ist, muss wohl COMAL die richtige Schreibweise sein. --Joystick 19:30, 26. Sep 2006 (CEST)
Die Suchfunktion ist doch caseinsensitiv, man ja auch nach CoMaL suchen und findet den Artikel. Phura 19:42, 26. Sep 2006 (CEST)
auch grad bemerkt..komischerweise. Naja das Lemma sollte trotzdem korrekt sein. --Joystick 20:54, 26. Sep 2006 (CEST)
Mmmh, also ich bin dafür wenn Programmiersprachen aus Abkürzungen bestehen wie z.B. BASIC, diese auch gross zu schreiben. Eventuell sollte sogar komplett überlegt werden alle Programmiersprachen wie COMAL, PASCAL, LOGO, usw. GROSS zu schreiben. --87.122.232.113 22:20, 26. Sep 2006 (CEST) alias Jodigi

Sternedemo[Quelltext bearbeiten]

Das Beispielprogramm ist ein bisschen mehr Low-Level/C64-only als es ein müsste. Bildschirm löschen geht beispielsweise mit PAGE.

Endlosschleife ist LOOP … ENDLOOP.

set'cursor kann man sich sparen, weil es ein PRINT AT row,column: … gibt.

Mit USE system bekommt man auch eine Funktion um die Farben zu setzen.

0010 USE system
0020 PAGE // Clear Screen
0030 PRINT "!!! Das C64-Wiki Sterne-Demo !!!"
0040 farbe#:=0
0050 textcolors(farbe#,farbe#,-1)
0060
0070 // Endlosschleife.
0080 // Kann nur mit RUN/STOP abge-
0090 // brochen werden.
0100 LOOP
0110  farbe#:=RND(0,15)
0120  textcolors(-1,-1,farbe#) // Textfarbe
0130  PRINT AT RND(1,25),RND(1,40): "*",
0140  // 1/25 Chance, dass Hintergrund-
0150  // farbe geaendert wird.
0160  IF RND(1,25)=1 THEN textcolors(farbe#,farbe#,-1)
0170 ENDLOOP

--BlackJack (Diskussion) 18:00, 13. Jun. 2022 (CEST)


Bist Du Dir sicher, das die Grundversion von COMAL schon Hexadezimal-Zahlen verarbeiten kann. In den entsprechenden Handbüchern aus Anfang der 1980er Jahren ist mir das noch nicht begegnet! --Jodigi (Diskussion) 02:01, 18. Jun. 2022 (CEST)

BASIC-Artikel verlinken sinnvoll?[Quelltext bearbeiten]

Macht das wirklich Sinn COMAL-Schlüsselworte und -Funktionen mit den Artikeln von BASIC zu verlinken? COMAL's RND-Funktion beispielsweise hat entweder gar kein Argument x:=RND (entspricht RND(0) in BASIC) oder zwei Argumente n:=RND(a,b) (entspricht INT(RND(0)*(b-a))+a in BASIC. Negative Werte gehen gar nicht, dafür gibt es die RANDOMIZE-Anweisung.

Bei PRINT hat das Komma in COMAL einen leicht anderen Effekt als bei BASIC. Der hängt vom ZONE-Wert ab, der in BASIC fest bei 10 ist und bei COMAL variabel und mit 0 initialisiert ist. Zudem gibt es noch AT x,y: und USING "format string": in COMAL die im BASIC-Artikel für PRINT nicht auftauchen.

Der IF/THEN-Artikel für BASIC beschreibt nur die COMAL-Variante IF … THEN …, aber nicht IF … THEN … ELIF … ELSE … ENDIF.

Es würde vielleicht eher Sinn machen den COMAL-Artikel um die Schlüsselworte/Konstrukte und Funktionen zu erweitern statt BASIC-Artikel zu verlinken nur weil die Schlüsselworte gleich geschrieben werden.

--BlackJack (Diskussion) 13:10, 15. Jun. 2022 (CEST)

Wenn es so nicht paßt, dann kannst D es gerne Ändern
Könntest Du bitte eine Befehls-Kurzsyntax im Comal-Artikel erstellen.--Jodigi (Diskussion) 22:14, 15. Jun. 2022 (CEST)
Kann ich machen, aber erst am Wochenende. Wie mit Versionen umgehen? Die Liste die jetzt da steht scheint UniComal's COMAL 0.14 zu sein. Vielleicht nur Standard COMAL 80 hier beschreiben und Unterschiede von den UniComal-Implementierungen COMAL 0.14 und COMAL 2.01 in den entsprechenden Artikeln beschreiben? --BlackJack (Diskussion) 11:40, 16. Jun. 2022 (CEST)
Es sollte hier nur das Standard COMAL beschrieben werden. --Jodigi (Diskussion) 12:05, 16. Jun. 2022 (CEST)
Ich hoffe, die Standard-COMAL-Befehle sind nun vollständig, damit diese dann auf deutsch beschrieben werden können.
Wenn Du eine zusätzliche Sortierung in Funktionen, Operatoren, Anweisungen, usw. bevorzugst, kannst Du das gerne so machen.
Ich stelle mir vor, eine detaillierte Kurzbeschreibung, zum Befehlsaufruf.
Aktuell habe ich Keyboard-Probleme und bin nur sporadisch da... --Jodigi (Diskussion) 23:19, 17. Jun. 2022 (CEST)
Ich probiere aktuell mal das externe USB-Keyboard aus... --Jodigi (Diskussion) 01:53, 18. Jun. 2022 (CEST)
Klappt zwar nicht so gut wie das alte Keyboard, aber irgendwie geht es...
Falls da was nicht stimmig ist, bitte korregieren... --Jodigi (Diskussion) 16:22, 18. Jun. 2022 (CEST)
Aaah, mach mal nicht so viel. Ich arbeite mich heute so nebenbei durch den Standard und schreibe lokal im Texteditor. Nicht das wir da zu viel doppelte Arbeit machen. 😀 Ich bin so halb durch den Standard und werde spätestens morgen Nachmittag mit der Seite abgleichen und zusammenführen was ich bis dahin habe. --BlackJack (Diskussion) 18:05, 18. Jun. 2022 (CEST)
Du kannst gerne gewisse Sachen von der Befehlsübersicht übernehmen, nicht das ich umsonst in die Bücher geschaut habe...
Nun ist erstmal Schluss mit COMAL, habe die nächsten Tage weniger Zeit dafür... --Jodigi (Diskussion) 18:07, 18. Jun. 2022 (CEST)
PS: Wie die Versionsliste zeigt, gibt es immer wieder Änderungen und rechnerspezifische Zusatzbefehle. Welche Version ist denn bei Dir das Standard-COMAL? --Jodigi (Diskussion) 18:08, 18. Jun. 2022 (CEST)
Ich hatte mir das angeschaut was Wikipedia als den Standard für COMAL 80 angegeben hat: http://datamuseum.dk/w/images/d/d5/KR_COMAL80_Kernel_Syntax_and_Semantics_Apr_1985.pdf
So als Grundlage. Abweichungen davon, die für die Commodore-Versionen relevant sind, kann man dann ja noch ergänzen/einarbeiten. Also zumindest für die 8-Bit-Maschinen fände ich das sinnvoll. Wobei das natürlich auch zu den konkreten Implementierungen passen würde. --BlackJack (Diskussion) 21:46, 18. Jun. 2022 (CEST)
Ist leider wohl auch eine etwas spätere KERNAL-Version in der Wikipedia. Gibt es da kein Grundlagen-Buch von um das Jahr 1980/81, da die eigentliche Standardisierung im Jahr 1979 vorgenommen wurde.
Die C64-Versionen von COMAL sind ja deutlich vor 1985 entstanden. --Jodigi (Diskussion) 01:02, 19. Jun. 2022 (CEST)
Die Cartridge ist glaube ich von 1985 und ich denke es wird keinen Standard geben der tatsächlich zu den Implementierungen passt. Das scheint da so ähnlich wie bei SQL gelaufen zu sein: Es gibt die Sprache, mehrere Implementierungen, da wird dann was spezifiziert, aber alle Implementierungen setzen nicht alles um, pappen aber auf der anderen Seite zusätzliches mit dran. Und der tatsächlich gemeinsame Teil den alle umsetzen, ist irgendwie zu wenig um da wirklich mit zu arbeiten. Selbst in dem Standard-Dokument von 1985 sind PEEK, POKE, und SYS nicht drin und keine bitweisen Operationen. UniComal 2.01 (die Cartridge) hat die aber und auch einiges andere was die Sprache nützlich erweitert. Und dann wohl auch teilweise in späteren Standards enthalten ist.
Es erinnert mich auch so ein bisschen an Pascal. Standard-Pascal ist vielleicht toll für die Schule oder Uni, aber um produktiv damit zu arbeiten, war es dann schon nett, das Borland ein bisschen vom Standard abgewichen ist und ein paar Sachen dazu gepackt hat.
Pragmatisch gesehen macht es vielleicht doch mehr Sinn, wenn man die UniComal-Varianten anschaut, welche da was unterstützt. So ähnlich wie beim BASIC-Artikel wo ja auch alle CBM-BASIC-Versionen angesprochen werden. Was anderes als UniComal gab es soweit ich das sehe nicht für die Commodore-Rechner, oder? --BlackJack (Diskussion) 22:31, 19. Jun. 2022 (CEST)
Für die ersten Versionen für PET und CBM waren die COMAL Usergruppe in den USA zuständig, später dann war es stets UniComal für C64/128 und Amiga.--Jodigi (Diskussion) 10:10, 20. Jun. 2022 (CEST)
Leider ist es so, daß in einem englischen Comal-Buch versucht wird den Befehlssatz von der Version 0.12 (Original) mit 2 späteren zu vergleichen, und da schon nicht alles aus der Version 0.12 in die Weiterentwicklungen ist. Eine ständige Weiterentwicklung wie es bspw. es in BASIC gab, ist in COMAL nicht zu sehen.--Jodigi (Diskussion) 10:10, 20. Jun. 2022 (CEST)