Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » Quelltexte » Themenansicht

Autor Thread - Seiten: -1-
000
20.08.2021, 19:53 Uhr
joergd



Hallo zusammen,

ich habe jetzt eine ganze Weile gesucht, aber nichts gefunden. Gibts denn irgendwo die aktuellen Quelltexte vom CAOS 4.8 sowie für USB und Netzwerk vom M052?

Viele Grüße - Jörg
--
VG - Jörg
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
20.08.2021, 22:33 Uhr
maleuma



noch nicht, die müsste ich noch in's KC85-Labor einstellen.
Das Handbuch ist auch noch nicht ganz aktuell.
Im Sommer ist halt weniger Zeit für den KC...
--
Mario.

Dieser Beitrag wurde am 20.08.2021 um 22:35 Uhr von maleuma editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
20.08.2021, 23:26 Uhr
susowa




Zitat:
joergd schrieb
aktuellen Quelltexte für Netzwerk vom M052?



Da hat sich nichts geändert:

http://www.kc85.info/index.php/download-topmenu/viewdownload/6-eprom-daten/54-m052-netzwerk-software-1-1.html

Sollte auch unter CAOS > 4.5 mit Einstellung DISK funktionieren - ohne Gewähr.

MfG susowa
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
21.08.2021, 10:33 Uhr
joergd




Zitat:
maleuma schrieb
Im Sommer ist halt weniger Zeit für den KC...



Deswegen schaue ich ja jetzt schon mal, womit ich mich nach dem Sommer beschäftige


Zitat:
susowa schrieb
http://www.kc85.info/index.php/download-topmenu/viewdownload/6-eprom-daten/54-m052-netzwerk-software-1-1.html



Da ist aber kein Quelltext drin, oder habe ich etwas übersehen?


Zitat:
susowa schrieb
Sollte auch unter CAOS > 4.5 mit Einstellung DISK funktionieren - ohne Gewähr.



Ich wollte gerade TNPUT nutzen (von Band auf TFTP-Server), das geht aber nicht. Nach Eingabe von IP-Adresse und Name kommt nur noch die Ausschrift "30*" (egal, ob der Kassettenrecorder läuft oder nicht), danach passiert nichts mehr.

VG - Jörg
--
VG - Jörg
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
22.08.2021, 02:44 Uhr
susowa




Zitat:
joergd schrieb
Da ist aber kein Quelltext drin, oder habe ich etwas übersehen?



Scheinbar nicht :-)

Müsste ich wohl mal online stellen ...

MfG
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
22.08.2021, 11:20 Uhr
joergd




Zitat:
susowa schrieb
Müsste ich wohl mal online stellen ...



Das würde ich sehr begrüßen

VG - Jörg
--
VG - Jörg
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
22.08.2021, 15:00 Uhr
maleuma



Die Programmlistings von CAOS 4.8 (einschließlich der USER-ROM-Inhalte) habe ich soeben im KC85 Labor online gestellt.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
22.08.2021, 16:37 Uhr
joergd



Danke!

VG - Jörg
--
VG - Jörg
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
26.08.2021, 09:49 Uhr
joergd




Zitat:
maleuma schrieb
Die Programmlistings von CAOS 4.8 (einschließlich der USER-ROM-Inhalte) habe ich soeben im KC85 Labor online gestellt.



Da ich das Ganze auch selbst gern mal compilieren möchte: Kannst Du das bitte auch als "richtige" Assembler-Quelltexte und nicht nur als PRN-Listing bereitstellen?
--
VG - Jörg

Dieser Beitrag wurde am 26.08.2021 um 13:27 Uhr von joergd editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
26.08.2021, 12:32 Uhr
ralle



Der intere Assembler wird nicht genutzt, sondern ein CPM-Assembler.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
26.08.2021, 13:31 Uhr
joergd



Ich weiß.
Aber auch die CP/M-Assembler schlucken die PRN-Listings nicht (bzw. ich weiß nicht wie). Man könnte zwar mit vertretbarem Aufwand die originalen Quelltexte aus den PRN-Dateien wieder rausbasteln. Aber nicht komplett, z.B. fehlen dann die durch if/then/else ausgeschlossenen Teile.
--
VG - Jörg

Dieser Beitrag wurde am 26.08.2021 um 15:30 Uhr von joergd editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
26.08.2021, 18:12 Uhr
maleuma




Zitat:
joergd schriebDa ich das Ganze auch selbst gern mal compilieren möchte: Kannst Du das bitte auch als "richtige" Assembler-Quelltexte und nicht nur als PRN-Listing bereitstellen?


Dazu müsstest Du einmal Deine E-Mail-Adresse in Deinem Account eintragen. Per PN lassen sich leider keine Dateien verschicken.

Die PRN-Listings im Labor sind eher dazu gedacht, um eigene Programme zu debuggen.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
26.08.2021, 18:34 Uhr
joergd



Meine E-Mail-Adresse ist jetzt sichtbar.

Die Quelltexte sollen also gar nicht veröffentlicht werden? Das würde ich ja bedauern. Ich würde das am liebsten auf Github o.ä. sehen. Dann würden sich vielleicht ein paar Mitstreiter finden, die gemeinsam entwickeln. Bzw. man könnte mitverfolgen, was Du gerade so dran machst. Das wäre durchaus interessant.

Oder sind auf den Quellen noch Copyrights, die eine Veröffentlichung verbieten?
--
VG - Jörg
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
26.08.2021, 19:04 Uhr
Bert



Die Quellen wird es sicher über kurz oder lang geben. Momentan ist das 4.8 ja noch ganz frisch und noch nicht im großen Stil im Einsatz.
Mit Weiterentwicklung wird es schwierig. Wenn ich Mario richtig verstanden habe, ist der Speicher bis auf wenige Bytes restlos gefüllt...

Du kannst Dir für den Einstieg den Quelltext vom CAOS 4.2 anschauen. Das ist die letzte offizielle Version von MPM.

Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
26.08.2021, 20:56 Uhr
maleuma



An Github habe ich mich bisher noch nicht herangetraut. Ich werde aber einmal versuchen, ob ich das hinbekomme. Hat jemand damit Erfahrungen und kann ggf. Tipps geben?

Github Desktop habe ich schon einmal installiert und auch einen Account angelegt. Jetzt muss ein sogenanntes Repository angelegt werden. Aber wie stelle ich da ein, welche Dateien da rein sollen? In dem Verzeichnis, wo sich die Quelltexte befinden, sind bei mir auch die Programme wie Assembler und Linker, CPM-BIOS usw. Die gehören ja nicht zu den CAOS-Quellen.
Wie es aussieht, kann ich aber nur einen kompletten Pfad wählen?

EDIT: Ich habe jetzt einmal ein lokales Repository "CAOS" in einem leeren Verzeichnis angelegt. Da wurden schon allein 27 Dateien und 17 Ordner angelegt. Teilweise haben die Dateien kryptische Namen, was soll ich damit machen? Kann man diese Dateien einfach löschen und dort die Quelltexte dafür rein kopieren?
--
Mario.

Dieser Beitrag wurde am 26.08.2021 um 21:16 Uhr von maleuma editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
015
26.08.2021, 21:32 Uhr
Bert



Github nutzt git als Grundlage. Ich verwende git immer in der Kommandozeile.

Hier ist das kurz und bündig erklärt:
https://rogerdudler.github.io/git-guide/index.de.html

Oder so:
1. Repository (Repo) auf Github anlegen
2. Repo auf lokale Platte holen: git clone
3. Dateien reinkopieren
4. relevante Dateien unter Versionkontrolle stellen: git add
5. Änderungen ins lokale Repo einpflegen: git commit
6. Änderungen auf Github veröffentlichen: git push

Wenn man 1. und 6. wegläßt und statt 2. das eigene Repo mit 'git init' anlegt, kann man Versionskontrolle auch lokal betreiben.
Das kann man auch nachträglich noch in einem Projekt anwenden.

Ich mach das immer dann, wenn ich denke: Jetzt ist ein brauchbarer Stand erreicht, den ich irgendwie konservieren will, bevor ich mit Änderungen vielleicht wieder was kaputtmache.

Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
016
26.08.2021, 21:42 Uhr
susowa



Siehe auch:

https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=14994

Unter 031 gibt es eine PDF zum Thema.

MfG
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
017
26.08.2021, 22:08 Uhr
joergd




Zitat:
maleuma schrieb
An Github habe ich mich bisher noch nicht herangetraut. Ich werde aber einmal versuchen, ob ich das hinbekomme. Hat jemand damit Erfahrungen und kann ggf. Tipps geben?



Ich bin da zwar auch nicht der große Spezialist. Und mache das Meiste unter Linux. Aber Du kannst mir ja trotzdem mal die Quellen schicken. Ich versuche dann, damit eine Anleitung zu erstellen, wie man das ins Github bekommen könnte.
--
VG - Jörg
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
018
27.08.2021, 21:29 Uhr
maleuma




Zitat:
Bert schrieb
1. Repository (Repo) auf Github anlegen
2. Repo auf lokale Platte holen: git clone
3. Dateien reinkopieren
4. relevante Dateien unter Versionkontrolle stellen: git add
5. Änderungen ins lokale Repo einpflegen: git commit
6. Änderungen auf Github veröffentlichen: git push


1. ist gelungen, das Projekt ist auf Github. Allerdings ist das erst einmal privat. Wenn ich die Dateien drin habe, kann ich das ja immer noch öffentlich sichtbar machen.

2. hat Github Desktop bereits gemacht, siehe EDIT in <014>. Das Verzeichnis ist aber noch leer, außer der 27 automatisch angelegten Dateien.

3. verstehe ich nicht. Die Dateien, die ich veröffentlichen will, liegen doch bereits auf der Festplatte. Warum muss ich diese jetzt noch einmal kopieren? Kann ich die relevanten Dateien nicht direkt verlinken?

4. ich würde dann also angeben "git add c : \ kcnet\caos\caos48.z80"
Dann habe ich doch diese Datei angegeben, die ich einbinden will. Ist das richtig?

Zu diesen Anfänger-Fragen steht in den einschlägigen Anleitungen leider nichts drin...
--
Mario.

Dieser Beitrag wurde am 27.08.2021 um 21:43 Uhr von maleuma editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
019
27.08.2021, 21:37 Uhr
maleuma



Noch ein Nachtrag:
Ich will aber nicht alle Dateien im Pfad C : \ KCNET\CAOS auf Github veröffentlichen, denn dort liegen auch Dateien, die keine Quelltexte sind. Mir ist noch nicht ersichtlich, wie ich die einzelnen Dateien auswähle.
--
Mario.

Dieser Beitrag wurde am 27.08.2021 um 21:44 Uhr von maleuma editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
020
27.08.2021, 22:01 Uhr
Bert




Zitat:
maleuma schrieb
2. hat Github Desktop bereits gemacht, siehe EDIT in <014>. Das Verzeichnis ist aber noch leer, außer der 27 automatisch angelegten Dateien.


Uiuiui. Außer einer (gefüllten) readme.md sollte man nix weiter brauchen.


Zitat:

3. verstehe ich nicht. Die Dateien, die ich veröffentlichen will, liegen doch bereits auf der Festplatte. Warum muss ich diese jetzt noch einmal kopieren? Kann ich die relevanten Dateien nicht direkt verlinken?


Wenn die Ordner identisch sind, ist alles gut. Ich vermute aber, der Entwicklungsordner und der von Github Desktop erzeugte Ordner sind zwei Verschiedene.


Zitat:

4. ich würde dann also angeben "git add ckcnet\caos\caos48.z80"
Dann habe ich doch diese Datei angegeben, die ich einbinden will. Ist das richtig?


Jein. Im Prinzip ist jedes github-Projekt ein eigener Ordner. Ob da Verlinkungen 'nach außerhalb' funktionieren, weiß ich nicht.
Bei mir gibt es im Entwicklungsordner oft ein Konvolut an Unterordnern, die ich so nicht auf Github haben möchte. Deswegen habe ich den 'Veröffentlichungsordner' (mit seinen Strukturen) parallel.


Zitat:

Zu diesen Anfänger-Fragen steht in den einschlägigen Anleitungen leider nichts drin...


Das ist oft so. Gerne werden auch Begriffe oder gar Abkürzungen vorausgesetzt, die kein Normalsterblicher kennt :-)

Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
021
27.08.2021, 22:59 Uhr
maleuma



OK, danke.
Das hatte ich befürchtet. Da muss ich wohl oder übel doch eine Kopie der relevanten Dateien in den separaten Git-Projektordner machen. Das birgt natürlich wieder die Gefahr, dass man beim Kopieren wieder etwas vergessen könnte. Eine Beispieldatei habe ich schon einmal reinkopiert. Und diese erscheint dann sogar auf GitHub. Ich bin also auf dem richtigen Weg :-)

Ja, das mit den Begriffen wie Commit, Fetch oder Branch muss ich auch erst noch lernen. Aber es gibt ja Google-Übersetzer. Schade, dass es für die Programme keine deutschen Sprachdateien gibt. Das würde Anfängern sicher helfen...
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
022
28.08.2021, 10:40 Uhr
janpopan



Hallo Mario,

Coole Sache, dass du den caos quellcode auf github stellen möchtest.
Github basiert auf git. Für git gibt es viele Tutorials auch auf Deutsch. Texte oder auch YouTube Videos.

Es gibt viele Tools die dich bei der Arbeit mit git unterstützen.

Ich denke wesentlich ist, dass du lokal dann auch auf den aus github ausgecheckten Quelltext Ordner arbeiten solltest, sonst bekommst du die Sachen nicht gut synchronisiert.

Bei den Git Tools kommt es auf deinen Geschmack an.
Nur command line oder ui?
Eventuell ist GitPod einen Blick wert.

Viele Grüße
Jan
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
023
28.08.2021, 14:29 Uhr
joergd



Ich schreibe mal auf, wie ich das machen würde. Das ist nur ein Beispiel für das mögliche Vorgehen, bekanntlich führen viele Wege nach Rom. Ich verwende seit Jahren nur noch Linux und Git dann auf der Kommandozeile. Das sollte sich von Windows aber nicht wesentlich unterscheiden. Auch dort würde ich auf der Kommandozeile anfangen. Das ist die Grundlage, darauf basieren dann auch die vielen grafischen Tools. Mit der Kommandozeile bekommt man eher ein Gefühl dafür, was im Hintergrund passiert (meine Meinung).

Als erstes logge ich mich bei https://github.com/ ein. Wer noch keinen Account hat muß natürlich erst einen anlegen. Dann erstelle ich dort unter "Repositories" mit Klick auf "New" ein neues Repository mit folgenden Angaben:
- Repository name: CAOS
- Description: Cassette Aided Operating System, das Betriebssystem für den KC85/5
- Public/Private: Public
- Initialize this repository with:
o Add a README file: aktivieren
o Add .gitignore: nicht aktivieren (erstellen wir dann selbst)
o Choose a license: aktivieren

Eine Lizenz zu wählen, ist für öffentlich zugängliche Projekte eigentlich immer gut (damit andere wissen, was sie damit machen dürfen), fürs CAOS aber vielleicht nicht ganz einfach. Ich nehme als Beispiel mal die MIT Lizenz, damit erlaubt man die uneingeschränkte Nutzung und schließt jede Gewährleistung aus.

Nach Klick auf "Create repository" wird dieses erstellt und gleich in dieses gewechselt. Dort kann man schonmal auf das grüne "Code" klicken, dort "SSH" wählen und sich die URL merken. In meinem Beispiel ist das "git@github.com:joerg-d/CAOS.git" (joerg-d ist mein Github-Account).

Jetzt geht es auf dem eigenen PC weiter (Kommandozeile).
Falls noch nicht geschehen, werden die wichtigsten Grundeinstellungen vorgenommen:


Quellcode:
$ git config --global user.name "Beispielnutzer"
$ git config --global user.email beispiel@example.com
$ git config --global core.safecrlf true
$ git config --global core.autocrlf true (bei Windows)
$ git config --global core.autocrlf input (bei Linux)



Nun wechselt man in das Verzeichnis, wo man das Verzeichnis mit dem neuen Repository erstellen will und gibt dort folgendes ein:


Quellcode:
git clone git@github.com:joerg-d/CAOS.git



"git@github.com:joerg-d/CAOS.git" ist die URL zum Repository auf Github (s.o.). Mit "clone" wird ein exakter Clone lokal auf dem PC erzeugt (in einem Verzeichnis mit dem Names des Repositories). Wenn also Github mal kaputt geht, hat man immer wirklich alles noch lokal auf dem PC (und auch andere, die das geklont haben). Und wenn man auf dem PC aus Versehen alles löscht, klont man wieder neu von Github.

Ich wechsle also ins neue Verzeichnis und sehe mir den Inhalt an:


Quellcode:
cd CAOS
dir (Windows) / ls -l (Linux)
.git
LICENSE
README.md



Da liegt also wie auf Github erstmal nur die Lizenz und die README.md. Zusätzlich gibts noch das Verzeichnis ".git". Da liegen Konfigurationsdaten vom Git, die sind uninteressant.
Jetzt kopiere ich den aktuellen Stand des Projektes in das Verzeichnis. Mangels CAOS-4.8-Quellen nehme ich für das Beispiel die vom CAOS 4.7., also kopiere ich folgende Dateien ins CAOS-Verzeichnis:


Quellcode:
CAOS47.INC
CAOS47.Z80
CC47.INC
CD47.INC
CE47.INC
CF47.INC
EQU47.INC
ZSGROSS.INC
ZSIBM.INC
ZSKLEIN.INC



Damit wurde das lokale Git-Repository geändert, was man am Status sieht:


Quellcode:
git status
Auf Branch main
Ihr Branch ist auf demselben Stand wie 'origin/main'.

Unversionierte Dateien:
  (benutzen Sie "git add <Datei>...", um die Änderungen zum Commit vorzumerken)
        CAOS47.INC
        CAOS47.Z80
        CC47.INC
        CD47.INC
        CE47.INC
        CF47.INC
        EQU47.INC
        ZSGROSS.INC
        ZSIBM.INC
        ZSKLEIN.INC

nichts zum Commit vorgemerkt, aber es gibt unversionierte Dateien
(benutzen Sie "git add" zum Versionieren)



Git hat also gemerkt, daß es Änderungen gibt (die neuen Dateien), aber diese noch nicht übernommen. Zur Übernahme (Commit) vorgemerkt werden die Dateien mit "add":


Quellcode:
git add *
fatal: CRLF würde in CAOS47.INC durch LF ersetzt werden



Hierbei erscheint also eine Fehlermeldung. Ursache ist, daß in CP/M Assembler-Quelltexten am Zeilenende wie auch unter Windows ein CRLF steht, unter Linux und Git-intern aber nur ein LF. Normalerweise macht Git das je nach Betriebssystem automatisch richtig. Intern wird immer LF verwendet. Wird unter Windows geklont/ausgecheckt, ersetzt Git die Zeilenenden durch CRLF, bei Linux bleibt es beim LF. Ich will aber auch unter Linux mit einem CP/M-Assembler übersetzen, also auch CRLF am Zeilenende haben. Das sage ich Git, indem ich eine Datei ".gitattributes" im CAOS-Verzeichnis mit folgendem Inhalt erstelle:


Quellcode:
# Auto detect text files and perform LF normalization

*         text=auto
*.INC     text eol=crlf
*.Z80     text eol=crlf



Dadurch wird bei Dateien mit den Endungen .INC und .Z80 am Zeilenende immer und überall CRLF beibehalten, für alle anderen Dateien bleibt es beim Automatismus.

Ein "git status" zeigt nun auch die Datei ".gitattributes" mit an. Diese müssen wir zuerst zum Commit vormerken, danach alle anderen Dateien:


Quellcode:
git add .gitattributes
git add *
fatal: LF würde in CE47.INC durch CRLF ersetzt werden



Da gibts immer noch einen Fehler, diesmal wegen der Datei "CE47.INC". Da sind komischerweise im Original Zeilenenden nur mit LF drin. Damit das einheitlich ist, ist es sinnvoll, da auch CRLF draus zu machen. Unter Linux mit:


Quellcode:
sed -i 's/$/\r/' CE47.INC



Nun können endlich alle Dateien zum Commit vorgemerkt werden:


Quellcode:
git add *



Der Status zeigt jetzt folg. an:


Quellcode:
git status
Auf Branch main
Ihr Branch ist auf demselben Stand wie 'origin/main'.

Zum Commit vorgemerkte Änderungen:
  (benutzen Sie "git restore --staged <Datei>..." zum Entfernen aus der Staging-Area)
        neue Datei:     .gitattributes
        neue Datei:     CAOS47.INC
        neue Datei:     CAOS47.Z80
        neue Datei:     CC47.INC
        neue Datei:     CD47.INC
        neue Datei:     CE47.INC
        neue Datei:     CF47.INC
        neue Datei:     EQU47.INC
        neue Datei:     ZSGROSS.INC
        neue Datei:     ZSIBM.INC
        neue Datei:     ZSKLEIN.INC



Nun kann ein Commit erfolgen, die Änderungen (hier die neuen Dateien) werden damit eingecheckt:


Quellcode:
git commit -m 'erster Commit mit Version 4.7'



'erster Commit mit Version 4.7' ist ein kurzer Kommentar dazu, welche Änderungen mit diesem Commit durchgeführt wurden. Das ist bis jetzt nur lokal auf dem PC passiert. Zu Github übertragen wird das Ganze mit:


Quellcode:
git push



Nun kann man sich das Repository auf Github ansehen. Die Quelltexte von CAOS 4.7 liegen jetzt auch dort.

Der nächste Schritt wäre, das Ganze zu compilieren. Auch hierzu gibt es mehrere Wege. Viele werden den Assembler einfach mit ins Verzeichnis mit den Quelltexten kopieren, das Verzeichnis in einem CP/M-Emulator "mounten" und den Assembler dort starten. Ich kopiere also Z80ASM.COM nach CAOS, starte den Emulator mit dem CAOS-Verzeichnis in D: und assembliere CAOS 4.7:


Quellcode:
D:
Z80ASM CAOS47/A
REN CAOS47.KCC CAOS47.COM



Anschließend gibt es im CAOS-Verzeichnis im Vergleich zum letzten Commit zusätzlich die Dateien Z80ASM.COM und CAOS47.KCC, wie man am Status erkennt:


Quellcode:
git status
Auf Branch main
Ihr Branch ist auf demselben Stand wie 'origin/main'.

Unversionierte Dateien:
  (benutzen Sie "git add <Datei>...", um die Änderungen zum Commit vorzumerken)
        CAOS47.KCC
        Z80ASM.COM

nichts zum Commit vorgemerkt, aber es gibt unversionierte Dateien
(benutzen Sie "git add" zum Versionieren)



Mit dem nächsten "git add / git commit / git push" würden die auch auf Github landen. Das sollen sie aber eigentlich nicht, da gehören nur die Quelltexte hin. Deswegen muß Git mitgeteilt werden, welche Dateien ignoriert werden sollen. Dazu wird im CAOS-Verzeichnis die Datei ".gitignore" mit folgendem Inhalt angelegt:


Quellcode:
*.COM
*.KCC
*.PRN
*.LST



Nach einem

Quellcode:
git add .gitignore


interessiert sich Git dann nicht mehr für Dateien mit diesen Endungen:


Quellcode:
git status
Auf Branch main
Ihr Branch ist auf demselben Stand wie 'origin/main'.

Zum Commit vorgemerkte Änderungen:
  (benutzen Sie "git restore --staged <Datei>..." zum Entfernen aus der Staging-Area)
        neue Datei:     .gitignore



Wir müssen nur noch die .gitignore-Datei commiten und zu Github pushen:


Quellcode:
git commit -m '.gitignore: Compilierte Maschinenprogramme und Programm-Listings ignorieren'
git push



Damit haben wir CAOS 4.7 fertig im Github-Repository angelegt. Deswegen können wir dort eigentlich auch ein Release erstellen. Dazu "Create a new release" anklicken und folg. ausfüllen:

- Choose tag: 4.7 (neu erstellen)
- Release Title: CAOS 4.7 final
- Describe this release: (da können z.B. die Neuerungen beschrieben werden)
- Attach binaries by dropping them here or selecting them: Da kann das Download-Archiv mit den EPROM-Inhalten hin

Wie das dann alles aussieht könnt ihr euch unter https://github.com/joerg-d/CAOS ansehen (lösche ich aber bald wieder, dient nur als Beispiel).

Nun kann ich ganz normal mit der CAOS-Entwicklung weitermachen: die Quellen mit dem Lieblingseditor editieren, und wie bisher übersetzen. Sobald eine Teilaufgabe abgeschlossen ist, wird ein neuer Commit erstellt und zu Github gepusht.

Für den Anfang sollte das erstmal genügen. Vom langen Text bitte nicht abschrecken lassen. Wenn man das einmal so durchgespielt hat, braucht mal zusätzlich zur bisherigen Entwicklung eigentlich nur noch die 3 Git-Befehle:


Quellcode:
git add *
git commit -m '<Kommentar>'
git push



Natürlich geht mit Git noch sehr viel mehr. Haben andere etwas committet, holt man sich diese Änderungen mit "git pull" ins lokale Repository. Mit dem Beginn der Entwicklung an einer neuen CAOS-Version sollte die alte Version in einen Branch ausgelagert werden. So könnte man dann bei Bedarf an der alten Version noch Fehlerkorrekturen durchführen. Andere können mitwirken, indem sie Pull-Requests einstellen oder Fehler (Issues) melden. Vielleich macht es auch Sinn, eine Organisation (z.B. kc85) zu erstellen Dann würde das Repository nicht mehr unter https://github.com/joerg-d/CAOS liegen, sondern unter https://github.com/kc85/CAOS.
--
VG - Jörg
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
024
28.08.2021, 19:34 Uhr
maleuma



Hallo Jörg,

vielen Dank für die ausführliche Anleitung und die vielen Hinweise. Für den Anfang ist mir das erst einmal zu viel. Also erst einmal Schritt für Schritt.

Als erstes geht es mir darum, einfach nur den Quellcode online zu stellen. Und ich denke, da bin ich heute einen großen Schritt weiter gekommen.
Nachdem ich mein Test-Repository mit einer einzigen Datei bereits auf GitHub hatte, habe ich dann die anderen Dateien noch in den lokalen Ordner kopiert. Mein Hauptproblem heute war, dass ich es partout nicht hinbekommen habe, die anderen Dateien auf der Website zu aktualisieren. Fetch Push, Submit: nichts hat geholfen. Es kamen auch keine Fehlermeldungen. Das habe ich mit der Windows-Software "GitHub Desktop" gemacht.
Da ich mir ratlos war, habe ich dann zusätzlich noch "Git GUI" für Windows installiert.
Und damit bin ich hinter des Rätsels Lösung gekommen: Submit erfordert einen Kommentar. Git GUI hat das zumindest in einer Fehlermeldung verraten.
Nach Eingabe des Kommentars hat es dann mit "GitHub Desktop" auch funktioniert.

Noch ist mein Projekt privat. Und beim Anlegen habe ich auch keine Lizenz eingestellt.
Aber Du hast recht, wenn es veröffentlicht wird, dann sollte der Anwender wissen, was er damit tun darf und was nicht. Bei der MIT-Lizenz stört mich, dass andere die Software verkaufen dürfen. Mir wäre wichtig, dass CAOS kostenlos bleibt! Jeder darf für sich den Code verändern und auch die geänderte Version veröffentlichen / verteilen. Auch diese Versionen sollten dann kostenfrei sein. Kann mir jemand eine Lizenz empfehlen, die das so enthält?

Und dann stehe ich vor noch einem Problem: Ich finde dir Stelle nicht mehr, wo ich die Lizenz auswählen kann. Da mein Projekt noch nicht öffentlich ist und auch noch keine Lizenz eingestellt ist, müsste das doch noch änderbar sein?
Oder muss ich das Repository löschen und komplett neu anlegen wegen der Lizenz?
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
025
28.08.2021, 19:56 Uhr
Bert



Es reicht, wenn in der Datei LICENSE das richtige drin steht.
Ich habe auf die Schnelle aber auch keinen guten Überblick über den Lizenzdschungel gefunden...

Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
026
28.08.2021, 20:06 Uhr
maleuma



Also einfach eine Datei LICENSE.TXT selbst schreiben und mit dazustellen.
Das werde ich machen, dann ist diese wenigstens auf deutsch.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
027
28.08.2021, 20:15 Uhr
joergd



Klar, meine längliche Anleitung muß man sicher nicht gleich komplett verstehen wollen. Man kommt damit halt erstmal zum Ziel eines nutzbaren Repositories lokal und auf Github.

Dein Problem mit submit bestätigt meine Meinung, daß es besser ist, zuerst alles auf der Kommandozeile zu verstehen. Ein Git-Kommando "submit" gibts nämlich (soweit ich weiß) bei Git gar nicht. Wenn es damit Probleme gibt, muß man also noch herausfinden, was die GUI bei submit eigentlich machen will.

Zur Lizenz:
Das klingt erstmal ärgerlich, wenn jemand mit der freiwilligen Arbeit anderer Geld macht. Aber inzwischen rege ich mich bei sowas nicht mehr auf. Wenn es "Kunden" gibt, wie für etwas Kostenloses unbedingt ihr Geld hergeben wollen, sollen sie das halt machen. Aber das kann man natürlich auch anders sehen. Eine gute Kurzübersicht zu den Lizenzen gibts z.B. unter https://producingoss.com/de/license-choosing.html.

Die Lizenz kann man auch nachträglich einfach hinzufogen. Das ist nur eine Datei mit dem Namen "LICENSE" (ohne .txt), welche den Text der gewählten Lizenz enthält. Du suchst Dir also einfach die gewünschte Lizenz aus und legst dann in Deinem Repository die Datei "LICENSE" mit deren Inhalt an. Den Inhalt findest Du z.B. mittels Suchmaschine. Oder Du legst noch ein temporäres Repository bei Github an und wählst dabei die Lizenz,die Du magst. Diese lädst Du Dir aus dem temporären Repository herunter und kopierst sie in das CAOS Repository. Nach einem "git add / git commit / git push" ist die Lizenz drin.

Wichtig ist, daß Di die Lizenz später nicht mehr ändern solltest. Wenn jemand anderes Code beisteuert, macht er das unter den Bedingungen Deiner Lizenz. Willst Du die später ändern, muß Du alle anderen um Zustimmung bitten. Das kann schwierig sein.
--
VG - Jörg
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
028
28.08.2021, 20:22 Uhr
Enrico
Default Group and Edit


Nö, submit gibts nicht.

Quellcode:

user@xubuntu-PC:~$ git
Verwendung: git [--version] [--help] [-C <path>] [-c <name>=<value>]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           <command> [<args>]

Allgemeine Git-Befehle, verwendet in verschiedenen Situationen:

Arbeitsverzeichnis anlegen (siehe auch: git help tutorial)
   clone             ein Repository in einem neuen Verzeichnis klonen
   init              ein leeres Git-Repository erstellen oder ein bestehendes neuinitialisieren

an aktuellen Änderungen arbeiten (siehe auch: git help everyday)
   add               Dateiinhalte zum Commit vormerken
   mv                eine Datei, ein Verzeichnis, oder eine symbolische Verknüpfung verschieben oder umbenennen
   restore           Dateien im Arbeitsverzeichnis wiederherstellen
   rm                Dateien im Arbeitsverzeichnis und vom Index löschen
   sparse-checkout   Initialisiere und verändere den partiellen Checkout

Historie und Status untersuchen (siehe auch: git help revisions)
   bisect            Binärsuche verwenden, um den Commit zu finden, der einen Fehler verursacht hat
   diff              Änderungen zwischen Commits, Commit und Arbeitsverzeichnis, etc. anzeigen
   grep              Zeilen darstellen, die einem Muster entsprechen
   log               Commit-Historie anzeigen
   show              verschiedene Arten von Objekten anzeigen
   status            den Zustand des Arbeitsverzeichnisses anzeigen

Historie erweitern und bearbeiten
   branch            Branches anzeigen, erstellen oder entfernen
   commit            Änderungen in das Repository eintragen
   merge             zwei oder mehr Entwicklungszweige zusammenführen
   rebase            Wiederholtes Anwenden von Commits auf anderem Basis-Commit
   reset             aktuellen HEAD zu einem spezifizierten Zustand setzen
   switch            Branches wechseln
   tag               ein mit GPG signiertes Tag-Objekt erzeugen, auflisten, löschen oder verifizieren.

mit anderen zusammenarbeiten (siehe auch: git help workflows)
   fetch             Objekte und Referenzen von einem anderen Repository herunterladen
   pull              Objekte von einem externen Repository anfordern und sie mit einem anderen Repository oder einem lokalen Branch zusammenführen
   push              Remote-Referenzen mitsamt den verbundenen Objekten aktualisieren

'git help -a' und 'git help -g' listet verfügbare Unterbefehle und
einige Anleitungen zu Git-Konzepten auf. Benutzen Sie 'git help <Befehl>'
oder 'git help <Konzept>', um mehr über einen spezifischen Befehl oder
Konzept zu erfahren.
Benutzen Sie 'git help git' für einen Überblick des Systems.
user@xubuntu-PC:~$




--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
029
28.08.2021, 21:07 Uhr
maleuma



Sorry, ich habe mich vertippt. Ich meinte nicht submit sondern commit.
Das hat ohne Kommentar nicht funktioniert. Kann aber auch an dem GUI liegen?

P.S. An der Lizenzdatei arbeite ich gerade.
Warum muss diese Datei gerade LICENSE heißen? Ich wollte sie eigentlich so benennen, dass sie alphabetisch geordnet ganz oben in der Dateiliste erscheint. So hätte ich die Datei "1-LIZENZ" oder so ähnlich benannt.
Oder wird eine Datei mit diesem speziellen Namen von GitHub besonders behandelt?
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
030
28.08.2021, 21:11 Uhr
maleuma



@Enrico: Wie kommst Du zu der deutschen Hilfe?
Bei mir zeigt ein git auf der Kommandozeile alles in englisch an:

Quellcode:
Mario@DESKTOP-D5K0PQA MINGW64 ~
$ git
usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           [--super-prefix=<path>] [--config-env=<name>=<envvar>]
           <command> [<args>]

These are common Git commands used in various situations:

start a working area (see also: git help tutorial)
   clone             Clone a repository into a new directory
   init              Create an empty Git repository or reinitialize an existing one

work on the current change (see also: git help everyday)
   add               Add file contents to the index
   mv                Move or rename a file, a directory, or a symlink
   restore           Restore working tree files
   rm                Remove files from the working tree and from the index
   sparse-checkout   Initialize and modify the sparse-checkout

examine the history and state (see also: git help revisions)
   bisect            Use binary search to find the commit that introduced a bug
   diff              Show changes between commits, commit and working tree, etc
   grep              Print lines matching a pattern
   log               Show commit logs
   show              Show various types of objects
   status            Show the working tree status

grow, mark and tweak your common history
   branch            List, create, or delete branches
   commit            Record changes to the repository
   merge             Join two or more development histories together
   rebase            Reapply commits on top of another base tip
   reset             Reset current HEAD to the specified state
   switch            Switch branches
   tag               Create, list, delete or verify a tag object signed with GPG

collaborate (see also: git help workflows)
   fetch             Download objects and refs from another repository
   pull              Fetch from and integrate with another repository or a local branch
   push              Update remote refs along with associated objects

'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.
See 'git help git' for an overview of the system.


--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
031
28.08.2021, 21:22 Uhr
joergd



Ich vermute, es ist völlig egal, wie die Lizenzdatei heißt. LICENSE ist halt üblich, wohl weil Github die so erstellt.

Zum Commit gehört immer ein Kommentar. Bei "git commit -m '<Kommentar>'" wird der gleich auf der Kommandozeile angegeben. Gibt man da nur "git commit" ein, sollte sich ein Editor öffnen, in welchem man den Kommentar eintippt.
--
VG - Jörg
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
032
28.08.2021, 21:33 Uhr
joergd



Die deutsche Hilfe macht Linux mehr oder weniger automatisch. Gesteuert wird das über Umgebungsvariable. Mit

Quellcode:
LANG=C git


wirds da englisch. Deutsch ist es wegen "LANG=de_DE.utf8" als Voreinstellung.
Kannst ja mal

Quellcode:
LANG=de_DE.utf8 git


probieren. Vermutlich müssen dazu unter Windows noch irgendwelche Sprachpakete installiert werden.
--
VG - Jörg
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
033
28.08.2021, 21:39 Uhr
maleuma



LANG=de_DE.utf8 git hat nichts geändert.
Ich kopiere mir einmal die von Enrico hier veröffentlichte Hilfe.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
034
28.08.2021, 21:43 Uhr
Enrico
Default Group and Edit


Das Xubuntu ist einfach auf deutsch.
Die wird das jemand von den Truppen übersetzt haben.

Es könnte auch sein, dass Dir da Übersetzungspakete fehlen.
Nach einer Neuinstallation vom Linux, hab ich dann immer mal wieder den Hinweis,
dass sowas noch fehlen würde.
--
MFG
Enrico

Dieser Beitrag wurde am 28.08.2021 um 21:51 Uhr von Enrico editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
035
28.08.2021, 21:53 Uhr
maleuma



Das Git für Windows scheint ja auch eine Linux-Grundlage zu haben.
Zumindest steht dort in der Titelzeile des Fensters "MINGW64:/pfad..."
Egal, stört mich jetzt auch nicht weiter. Ich arbeite unter Windows trotzdem lieber mit der GUI. Und dafür habe ich noch keine deutsche Sprachdatei finden können.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
036
29.08.2021, 01:00 Uhr
Enrico
Default Group and Edit



Zitat:
maleuma schrieb
Das Git für Windows scheint ja auch eine Linux-Grundlage zu haben.


Das kann schon sein.
Unter Win10 kann man neuerdings nativ Linux-Programme laufen lassen.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
037
29.08.2021, 13:16 Uhr
joergd



Nochmal zur Lizenz:
Ganz egal ist der Name der Lizenzdatei doch nicht. Und damit man in Github Repositories über den Lizenztyp suchen kann, muß man die Lizenz über Github setzen. Wie das nachträglich geht, steht hier: https://docs.github.com/de/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository
--
VG - Jörg
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
038
29.08.2021, 19:00 Uhr
maleuma



Ich denke, es ist gelungen. Danke allen, die mir dazu wertvolle Tipps gegeben haben. Falls etwas noch nicht perfekt funktioniert: Bitte etwas Geduld, die nächsten beiden Wochen bin ich offline.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
039
29.08.2021, 19:22 Uhr
ambrosius



Dann (hoffentlich) schönen Urlaub.
--
viele Grüße
Holger
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
040
29.08.2021, 19:49 Uhr
maleuma



Dankeschön.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
041
20.09.2021, 21:12 Uhr
maleuma



Die Quelltexte von CAOS 2.2 bis 4.7 sind nun ebenfalls auf GitHub. Das sind aber nicht die Quellen von MPM sondern die von mir selbst erstellten Quellen, welche aus den ROM-Images entstanden sind. CAOS 3.4 ist von H.H., ergänzt um einige Kommentare zum besseren Verständnis.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
042
21.09.2021, 06:47 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Welche URL?
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
043
21.09.2021, 08:57 Uhr
DL
Default Group and Edit


https://github.com/maleuma
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
044
21.09.2021, 19:58 Uhr
maleuma



Die EDAS-Quelltexte erkennt GitHub aber nicht als Text und meint es wären Binärdateien. Sind es aber nicht. Das liegt sicherlich am CAOS-Vorblock mit den Nullen drin.
Dann funktioniert aber leider auch die Verfolgung von Änderungen nicht
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
045
21.09.2021, 20:33 Uhr
ambrosius



Kannst Du nicht den Quelltext als 'Text', ohne Vorblock, bei Github einstellen und dazu den Vorblock als z.B. vorblock.bin-Datei? Das kann man sich ja dann zum einlesen erst am Rechner selbst zusammenkopieren.
--
viele Grüße
Holger
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
046
21.09.2021, 21:59 Uhr
maleuma



Den Aufwand spare ich mir. Die älteren Quelltexte wurden mit EDAS bearbeitet und dort ist das Format nun einmal so. Daran wird auch nichts mehr geändert außer vielleicht noch ein paar Kommentare. Aber das mache ich dann eher in den prn-Dateien und nicht an den Quellen selbst. Wer sich die Quelltexte runterlädt, soll sie ja auch 1:1 mit EDAS einlesen und übersetzen können.
Ab CAOS 4.4 liegen die Dateien im CP/M-Format vor und haben damit auch keinen Vorblock mehr.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
047
22.09.2021, 06:37 Uhr
ralle



Holger, im Grunde brauchst du einen Crossassempler, der für Z80 und im Speziellen Fall auch für CAOS das erstellte Programm passend übersetzt. Also mit Vorblock, wo man auch die erste Adresse eingeben kann. Eventuell noch eine Startadresse, die Endadresse muss nur errechnet werden.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700

Dieser Beitrag wurde am 22.09.2021 um 06:38 Uhr von ralle editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek