ZPM3 für die JOYCE

Software-Entwicklung, Compiler, Interpreter, ...
Antworten
kurt
Beiträge: 174
Registriert: 26.10.2019, 20:11

ZPM3 für die JOYCE

Beitrag von kurt »

Zum CF- bzw. Disketten-Images:
==============================

DSKA0001.DSK:
Ich verwende zwei Images zum Betrieb der Joyce. Als Rettungssystem auf
DSKA0001 ein CPM3 mit Z3Plus als Option. CPM3 boot das Notwendigste von A0: und wechselt dann nach C0: um den Boot-Vorgang abzuschließen. Der CPM3 Suchpfad ist ist erscheinen des Kommando-Prompts auf C0: gesetzt. Wird von hier "Z3PLUS" als Kommando eingegeben, startet das Z-System. Dieser Zwischenschritt ist leider notwendig, da Z3Plus sonst bemeckert, das noch ein "GET" im Hintergrund läuft und will dann nicht starten. Keine Ahnung was da abgeht. Nun, als Rettungssystem geht das wohl so in Ordnung.

DSKA0000.DSK:
Von diesem Image bootet das ZPM3-System. Auf A0: befindet sich alles, um notfalls auch ohne das IDE-Interface starten zu können. Wie man sich aber sicherlich denken kann, ist das Kommandoportfolio äußerst begrenzt und läßt keine großen Handlungsspielräume zu. Mit IDE-Interface bootet die Joyce nach D0:SYS> (Zeitdauer etwa 25Sek.). Damit ist das Z-System initialisiert und man kann gleich loslegen.

Obwohl SYS: recht gut bevölkert ist, liegen große Teile der transienten Kommandos auf ROOT: in zwei lbr's verpackt: SYSUTILS.LBR & ZUTILS.LBR. Einsehbar mit LDIR ROOT:<lbr>. In ROOT:ALIAS.CMD sind die Aufruf-Aliase untergebracht. Kann man mit LESS ROOT:ALIAS.CMD ansehen bzw. durchsuchen. Hierzu die Taste "F" drücken dann den Suchbegriff eingeben und den weiteren Anweisungen folgen. Mit der Taste "C" bzw. "R" kann vor- bzw. zurück ge-paged werden. "T" springt an den Dateianfang, "B" ans Ende. Mit <BREAK> wird LESS beendet. Auf der PS2-Tastatur liegt <BREAK> auf STRG-Rechts.

CF-Karte:
Wie schon erwähnt ist C0: das Rettungssystem, D0:SYS das Betriebssystem (ZPM3). Das Original CF-Karten-Image hat das Programm-Archiv auf den Laufwerken C: bis H: untergebracht. Das paßte mir aber nicht ins Konzept, weshalb kurzerhand alles ans Ende der Laufwerksbuchstaben verschoben wurde. Das Programmarchiv liegt jetzt auf K: bis P:, wobei M: - die RAM-Disk - ausgenommen ist. Auf J1: befindet sich das Z-System Utility Archiv mit seinen 635 Programmen in einem lbr (Z3COM.LBR). Auf J0: ist das Inhalts- verzeichnis als ASCII-Datei zu finden. Die Liste ist mit ZCATALOG einfach einsehbar (dahinter versteckt sich der Befehl LESS, kann also mit den schon erwähnten Tasten-Kommando durchgegangen werden). Eine Übersicht über das Programmarchiv auf den Laufwerken K: bis P: kann mit CATALOG angezeigt werden, Laufwerk J: taucht darin allerdings nicht auf, dafür reichen die 90 Zeichen horiz. nicht aus, paßt aber auch nicht in den Kontext.

Die Laufwerke E: bis I: stehen zur freien Verfügung für eigenes.

Das CF-Image mußte wegen seiner Größe in zwei Teile gesplittet werden. Die Beiden Files müssen in der Reihenfolge:
joyce_cf-card_20240618.0.img.7z.x00 +
joyce_cf-card_20240618.0.img.7z.x01 binär aneinander gehängt werden und sind dann mittels eines Imaging-Programms auf die CF-Karte zu schreiben. Unter Linux wäre das "DD", unter Windows = ???

Kurzanleitung für Linux-Fans: ;-)

ZPM3-System von CF-Card auslesen:
=================================
sudo dd if=/dev/sd? bs=1M of=./zpm3_2024mmdd.0.img status=progress

ZPM3-System auf CF-Card schreiben:
=================================
sudo dd if=./zpm3_2024mmdd.0.img bs=1M of=/dev/sd? status=progress

Das gesplittete 7z-Archiv wieder zusammen fügen:
==========================================
cat joyce_cf-card_20240618.0.img.7z.x00 joyce_cf-card_20240618.0.img.7z.x01 > joyce_cf-card_20240618.0.img.7z

Anschließend mit 7z auspacken...


Besonderes:
Auf SYS: befindet sich eine Datei namens !README.1ST. Hier sind einige Dinge vermerkt, die mir nach der Installation von ZPM3 aufgefallen sind - sollte man unbedingt lesen.

SYS:ARUNZ.COM bzw. ROOT:CMDRUN.COM
ROOT:CMDRUN.COM ist der Alias-Command Prozessor des Z-Systems. SYS:ARUNZ.COM ist der Original-Name. Genaueres kann in "The Z-System User's Guide" nachgelesen werden ! Den Guide sollte man sich als aller erstes zu Gemüte führen, ohne diese Grundeinführung steht man dem Z-System etwas hilflos gegenüber. Anzumerken ist noch, das ich ARUNZ.COM erst durch patchen gefügig machen mußte. Ohne diese Nachhilfe wollte er die ALIAS.CMD ausschließlich auf A0: liegen sehen, was mir natürlich nicht in den Kram paßte, weil D15:ROOT hierfür vorgesehen war (ist).

Z-System-Hilfe:
Bei Eingabe eines einzelnen Buchstabens [a..z]<cr> wird die zugehörige Hilfeseite aufgerufen, die alle Programme aus J1:Z3COM.LBR mit diesem Anfangsbuchstaben auflistet. Das erscheinende Menü ist selbsterklärend.

Handbücher/Manuals:
Ist alles in den Archiven Z-SYSTEM-DOCS_1.7z u. Z-SYSTEM-DOCS_2.7z zu finden. Es gibt 2 Dokumente die an erster Stelle zum Lesen stehen:
1. "The Z-System User's Guide"
2. "ZCPR3 - The Manual"
Sie bilden den Faden durchs Z-System...

Schlußanmerkung:
Ich bin jetzt seit gut 4 Wochen mit ZPM3 auf der JOYCE unterwegs und muß sagen, es ist die Wucht. Endlich ein CPM, das Spaß macht. Wermutstropfen ist jedoch, dass in jedem Fall 3 Dinge vorhanden sein sollten:

1. Das IDE-Interface
2. Die RAM-Erweiterung
3. Eine Hardware-Uhr

Auf einem reinen Disketten-System ist ZPM3 nicht sinnvoll einsetzbar, das ist wie das Tragen einer Zwangsjacke. Durch das IDE-Interface ist auch eine 4MHz JOYCE angenehm schnell bei jeder Aktion die auf diesem Speichermedien abläuft. Ein weiterer Punkt ist die unbedingte Nutzung von lbr's zum Speichern von Programm-Paketen bzw. Ablage von vielen kleinen Dateien, das spart Directory-Einträge und läßt eine bessere Nutzung der 8MB Images zu. Die notwendigen Tools zur Handhabung bringt ZPM3 alle mit, es baut darauf sogar auf. Die Nutzung von benannten Directories und das vorhandensein eines Suchpfades für Programme erleichtert den Umgang mit dem System deutlich. Die Möglichkeit Shell-Scripte zu erstellen, um Arbeitsabläufe zu vereinfachen ist ein weiterer Pluspunkt (SUBMIT ist kein gleichwertiger Gegner zu ZEX als Shell-Script Prozessor !). Ich empfehle die Z-System Doku weiter unten. Einen sehr guten Systemüberblick ist mit ZSHOW möglich. Einfach mal starten.

Die 7zip-Archive folgen im Anschluß...
Zuletzt geändert von kurt am 04.07.2024, 02:49, insgesamt 3-mal geändert.
kurt
Beiträge: 174
Registriert: 26.10.2019, 20:11

Re: ZPM3 für die JOYCE

Beitrag von kurt »

Die Endung ".txt" ist zu entfernen !


Readme.1st.txt => Veraltet, man nehme fürderhin den Text vom obigen Beitrag per Copy-&-Paste !

Z-System-Docs_1.7z
(5.56 MiB) 348-mal heruntergeladen
Z-System-Docs_2.7z
(9.38 MiB) 351-mal heruntergeladen
ZPM3-Boot_DSKA0000.DSK.txt
(190.25 KiB) 351-mal heruntergeladen
Zuletzt geändert von kurt am 04.07.2024, 02:55, insgesamt 4-mal geändert.
kurt
Beiträge: 174
Registriert: 26.10.2019, 20:11

Re: ZPM3 für die JOYCE

Beitrag von kurt »

Die Endung ".txt" ist zu entfernen !

CPM3-Boot_DSKA0001.DSK.txt
(190.25 KiB) 356-mal heruntergeladen
joyce_cf-card_20240618.0.img.7z.x00.txt
(9.47 MiB) 350-mal heruntergeladen
joyce_cf-card_20240618.0.img.7z.x01.txt
(9.47 MiB) 356-mal heruntergeladen

Das war's... :D


Die beiden .DSK Images gehören auf den USB-Stick vom Drive-A Gotek ! Der Vorspann "CPM3-Boot_" bzw. "ZPM3-Boot_" ist zu entfernen !
kurt
Beiträge: 174
Registriert: 26.10.2019, 20:11

Re: ZPM3 für die JOYCE

Beitrag von kurt »

Shit happens - wie immer... Ich habe anscheinend vergessen die ROOT:SYSUTILS.LBR u. die ROOT:ALIAS.CMD etwas vorher aufzuräumen.

Die unten aufgelisteten Programme, ausgenommen XSUBZ14.COM können NICHT auf der Joyce genutzt werden, da für ein anderes ZPM3-System gedacht. Diese bitte löschen.

Code: Alles auswählen

ldir root:sysutils x*.*
Library: SYSUTILS.LBR (-> X???????.???)  Modified 21 Jun 24  
   Name           Length     Method    Created   Modified       Comments
============   ====-======= ========  =========  =========  ==================
XCLS    .COM     1r   0.12k  Stored   28 Jan 21  28 Jan 21  <-- LÖSCHEN
XGRAPFNT.COM    53r   6.62k  Stored   25 Mar 21  25 Mar 21  <-- LÖSCHEN
XOFF    .COM     1r   0.12k  Stored   28 Jan 21  28 Jan 21  <-- LÖSCHEN
XON     .COM     1r   0.12k  Stored   28 Jan 21  28 Jan 21  <-- LÖSCHEN
XSETFNT .COM    45r   5.62k  Stored   25 Mar 21  25 Mar 21  <-- LÖSCHEN
XSETIBM .COM    45r   5.62k  Stored   25 Mar 21  25 Mar 21  <-- LÖSCHEN
XSETKAUN.COM    45r   5.62k  Stored   25 Mar 21  25 Mar 21  <-- LÖSCHEN
XSETMDRN.COM    45r   5.62k  Stored   27 Mar 21  27 Mar 21  <-- LÖSCHEN
XSETSYM .COM    45r   5.62k  Stored   25 Mar 21  25 Mar 21  <-- LÖSCHEN
XSUBZ14 .COM     8r   1.00k  Stored   05 Oct 22  05 Oct 22  <== NICHT löschen !
==============================================================================
SYSUTILS.LBR members: 10 matched, 89 active, 14 free, 0 deleted, 103 total
Gleiches gilt für die ALIAS.CMD, in der die korrespondierenden Einträge als Befehls-Makro auftauchen. Die Zeilen mit den Makro's mit einem Editor entfernen. Am einfachsten mit ZDE, TE geht nicht, er kann die >80 Zeichen langen Einträge nicht verdauen und bricht ab.

An eine Auflistung der Alias-Kommandos kommt man am schnellsten mittels CLS;LX -J1:Z3COM ADIR26.COM;
kurt
Beiträge: 174
Registriert: 26.10.2019, 20:11

Re: ZPM3 für die JOYCE

Beitrag von kurt »

Hier noch mal ein Blick auf die Boot-Zeiten der JOYCE. Gemacht wurden 4 Messungen: Die ersten beiden Messungen erfolgen in der Boot-Konfiguration von Drive-A wie veröffentlicht (Ausnahme s. unten !). Für die Messungen 3 u. 4 ist mittels SALIAS BOOT:STARTZPM als erste Zeile ein D0: eingefügt worden. Hierdurh wird unmittelbar nachdem J18GZPM3.EMS und XDRV.FID eingelesen wurden nach D0: gewechselt und alles weitere von dort geladen. Alle Messungen sind Handgestoppt !

Wichtig:
=======
die beiden Files PCW.Z3T und PCW.NDR sollten sowohl auf A0: als auch auf D0: den identischen Inhalt haben, bevor man die STARTZPM.COM ändert, sonst hagelt es Überraschungen ! :?: :idea: :!: :mrgreen:

Code: Alles auswählen

Gemeinsam für alle Messungen:
=============================
Auf Drive-A  habe ich den CLOCK.FID durch umbenennen in CLOCK.FIT deaktiviert. Die Systemzeit 
wird von ZPM3 ja im CMD-Prompt laufend angezeigt.

Boot von A0:, wechsel nach D0: am Schluß:
=========================================
Kaltstart (Power-ON): 35 sek.
Einfacher RESET:      30 sek.

Boot von A0:, wechsel nach D0: nach XDRV.FID:
=============================================
Kaltstart (Power-ON): 21 sek.
Einfacher RESET:      20 sek.
Der Power-ON Start beschleunigt sich hiernach um ca. 14 sek., der einfache Start nach einem RESET um ca. 10 sek.

Die Verkürzung um lediglich ca. 30% haut niemandem um, trotzdem lohnt es sich, das "D0:" in der BOOT:STARTZPM.COM als erste Zeile einzufügen.
kurt
Beiträge: 174
Registriert: 26.10.2019, 20:11

Re: ZPM3 für die JOYCE

Beitrag von kurt »

Der CLK ist relativ...
Vielleicht ist es dem Einen oder Anderen schon aufgefallen. Ruft man ZSHOW auf und sieht sich über "3" die ENVirement-Daten an, dann fällt auf, das die Joyce angeblich mit 18MHz läuft ! Das ist nur Balsam für die Seele, denn das ZPM3 kommt vom PCW-16 "Anne", daher die 18MHz. Diese Angabe ist hardcodiert und nicht ermittelt, muß also von Hand eingetragen werden. Wer will, kann das mit SALIAS SYS:STARTZPM korregieren. Hierzu muß NACH LOADSEG ... der Befehl POKE F52B 04 eingetragen werden. Ist sicher sinnvoll, sollten Programme nämlich über diesen Eintrag irgendwelche Zeitschleifen berechnen, könnten diese sonst deutlich zu lange dauern.

Hoffe, alle hatten ihren Spaß am 18MHz Takt der Joyce :lol:
Zuletzt geändert von kurt am 27.06.2024, 20:31, insgesamt 1-mal geändert.
kurt
Beiträge: 174
Registriert: 26.10.2019, 20:11

Re: ZPM3 für die JOYCE

Beitrag von kurt »

Der Teufel liegt wie immer im Detail: POKE muß nach der PATH-Anweisung stehen und nicht nach LOADSEG... wie oben angegeben, sonst hängt das System. Es muß erst in der ROOT:ZUTILS.LBR danach gesucht werden (geht aber ohne PATH nicht). Davon abgesehen geht durch den Suchlauf auch unnötig Zeit verloren. Es ist deshalb besser POKE12.COM aus der ROOT:ZUTILS.LBR zu entfernen und stattdessen von J1:Z3COM die Z-System-Version Z33POKEB.3OM als POKE.COM nach SYS: zu kopieren.

Man kann alternativ aber auch den Poke-Befehl streichen und die 18MHz stehen lassen... :mrgreen:
Antworten