{"id":17922,"date":"2025-02-07T00:16:14","date_gmt":"2025-02-06T23:16:14","guid":{"rendered":"https:\/\/www.bernd-leitenberger.de\/blog\/?p=17922"},"modified":"2025-02-06T12:44:03","modified_gmt":"2025-02-06T11:44:03","slug":"die-technik-von-cpm-2","status":"publish","type":"post","link":"https:\/\/www.bernd-leitenberger.de\/blog\/2025\/02\/07\/die-technik-von-cpm-2\/","title":{"rendered":"Die Technik von CP\/M (2)"},"content":{"rendered":"<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_17922\" class=\"pvc_stats all  \" data-element-id=\"17922\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/www.bernd-leitenberger.de\/blog\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p>Weiter geht es in der mehrteiligen Artikelserie &uuml;ber die Technik die hinter CP\/M steckt. <a href=\"https:\/\/www.bernd-leitenberger.de\/blog\/2025\/02\/06\/die-technik-hinter-cpm\/\">Gestern erschien der erste Teil<\/a>, an diesen schlie&szlig;t dieser zweite Teil direkt an. Komplett findet ihr das<a href=\"https:\/\/www.bernd-leitenberger.de\/cpm-technik.shtml\"> ganze auf der Website<\/a>. Hier alle Tele:<\/p>\n<p>Erschienen sind:<\/p>\n<p><a href=\"https:\/\/www.bernd-leitenberger.de\/blog\/2025\/02\/06\/die-technik-hinter-cpm\/\">Teil 1 behandelt den Aufbau des Speichers und des Dateisystems<\/a><\/p>\n<p>und sie lesen gerade:<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vg01.met.vgwort.de\/na\/b1fc5450109a42ad8e95ccbb6fb4a039\" alt=\"\" width=\"1\" height=\"1\" \/><\/p>\n<p><a href=\"https:\/\/www.bernd-leitenberger.de\/blog\/2025\/02\/07\/die-technik-von-cpm-2\/\">Teil 2 behandelt den Aufbau einer Diskette und des Rechners, Bildschirm und Tastatur<\/a><\/p>\n<p>und es kommen noch:<\/p>\n<p><a href=\"https:\/\/www.bernd-leitenberger.de\/blog\/2025\/02\/08\/die-technik-hinter-cpm-3\/\">Teil 3 behandelt die BDOS-Funktionen, den Kommandointerpreeter, User Befehl und die Ger&auml;te.<\/a><\/p>\n<p><a href=\"https:\/\/www.bernd-leitenberger.de\/blog\/2025\/02\/09\/die-technik-hinter-cpm-4\/\">Teil 4:\u00a0 &Uuml;ber CP\/M 3, andere Versionen und warum es heute noch neue CP\/M Rechner gibt.<\/a><!--more--><\/p>\n<h2 class=\"western\">Aufbau der Diskette<\/h2>\n<p>Eine CP\/M Diskette hatte immer auf dem ersten Sektor und der ersten Spur den Bootloader. Das ROM-BIOS des Rechners musste beim Einschalten diesen Sektor in den Arbeitsspeicher laden und das dort gespeicherte Programm lud dann nacheinander BIOS, BDOS und CCP in den Speicher (s.u.). Daf&uuml;r waren bestimmte Gr&ouml;&szlig;en vorgesehen, notfalls folgten leere Sektoren. So war auf dem Amstrad CPC Sektor 3 bis 7 von Spur 0 ungenutzt, weil hier das BIOS im ROM steckte. Es folgte das Verzeichnis, das immer auf einem neuen Block anfing. So belegte bei den 180 KByte Laufwerken des Amstrad mit 1 KByte gro&szlig;en Bl&ouml;cken das System 9 KByte, bei den Fremdfloppys von Vortex mit 4 KByte gro&szlig;en Bl&ouml;cken dagegen 12 KByte.<\/p>\n<p>Die Gr&ouml;&szlig;e des Verzeichnisses konnte vom Hersteller gew&auml;hlt werden. Typisch waren 64 Eintr&auml;ge bei einer Disk mit unter 250 KByte gro&szlig;en Bl&ouml;cken, das Maximum, das ich gesehen habe waren 768 Eintr&auml;ge. Die Gr&ouml;&szlig;e wurde so abgestimmt, das es nicht vorkam das bei normaler Nutzung das Verzeichnis voll war, auf der Disk aber noch Platz war. Dies musste mit der Blockgr&ouml;&szlig;e abgeglichen werden, denn eine zweite Einschr&auml;nkung war, dass ein Eintrag maximal 16 Bl&ouml;cke aufnahm. Ben&ouml;tigte er mehr Bl&ouml;cke \u2013 bei 1 KByte Bl&ouml;cken schon ab 16 KByte Dateigr&ouml;&szlig;e \u2013 so wurde ein zweiter Eintrag angelegt und in zwei Verwaltungsfeldern angegeben, dass dieser auf den ersten folgt (Extend). Jeder Eintrag belegte 32 Bytes, sodass bei meinen oben erw&auml;hnten Disketten die 64 bzw. 256 Eintr&auml;ge des Verzeichnisses 2 bzw. 8 KByte belegten. Der Eintrag, der sich von der internen Verwaltungsstruktur FCB ableitete hatte in den ersten 16 Bytes Informationen &uuml;ber den Dateinamen (11 Zeichen \u2013 8 f&uuml;r den Dateinamen, drei f&uuml;r die Erweiterung), die Gr&ouml;&szlig;e der Datei und den User-Bereich sowie ob sie in Bearbeitung war und in den 16 Bytes im zweiten Teil standen die belegten Bl&ouml;cke, gab es weniger als 256 Bl&ouml;cke so einen pro Byte, ansonsten zwei. Ob eine Datei versteckt war oder nicht beschreibbar wurde im siebten Bit der Erweiterung gespeichert \u2013 f&uuml;r Dateinamen waren nur ASCII-Zeichen zul&auml;ssig, die 7 von 8 Bits eines Bytes belegten. Die Dateinamen wurden immer in Gro&szlig;buchstaben abgelegt. Heute gew&ouml;hnungsbed&uuml;rftig, aber auch MS-DOS folgte diesem Beispiel bis zur <a href=\"https:\/\/www.bernd-leitenberger.de\/DOS-Versionen.shtml\">letzten Version<\/a> und die erschien erst 1994.<\/p>\n<p>Ein Nachteil dieses Konzepts war, das CP\/M beim Einlegen einer Diskette, das ganze Verzeichnis gescannt werden musste. Dies wurde bei MS-DOS \/ PC-DOS besser gemacht, da wurde auf der Diskette ein Array mit den Nummern der belegten Bl&ouml;cke abgelegt (FAT : File Allocation Table). Auch diese Tabelle musste gescannt werden, sie war aber kleiner als das Verzeichnis.<\/p>\n<p>CP\/M unterst&uuml;tzte bis zu 16 Laufwerke, welche die Bezeichnung A: bis P: hatten. Wem das bekannt vorkommt: MS-DOS &uuml;bernahm es und so ist es bis heute so, dass zumindest das Systemlaufwerk unter C: eingebunden ist. CP\/M 2.2 beschr&auml;nkte die Gr&ouml;&szlig;e einer Partition auf 8 MByte, weil die Sektornummern in 16 Bit Zahlen gespeichert wurden und da ist der h&ouml;chste Wert 65536 was mit den 128 Byte pro Sektor 8 MByte ergab. CP\/M 3.0 erh&ouml;hte dies auf 32 MByte pro Partition. CP\/M 3.0 konnte bis zu 16 Partitionen pro Festplatte anlegen.<\/p>\n<p>Es gab unter CP\/M noch nicht das Konzept der Verbindung von Dateiendungen und Programmen. Zwar speicherten viele Programme ihre Dateien mit bestimmten Erweiterungen &#8211; Turbo Pascal z.B. als &#8222;.pas&#8220;, aber man konnte nicht einen Dateinamen wie &#8222;programm.pas&#8220; eintippen und CP\/M startete dann den Turbo Pascal Compiler. Die einzige feste Verkn&uuml;pfung war, das eingegebene Dateinamen vom CCP um .com erg&auml;nzt wurden, und dann wenn eine Datei dieses Namens existiere sie gestartet wurde. Gab es sie nicht so gab CP\/M den Namen einfach mit einem Fragezeichen ? zur&uuml;ck. Die Systemmeldungen von CP(M waren insgesamt sehr kurz und W&ouml;rter wurden meist auch noch abgek&uuml;rzt wie bei die wohl h&auml;ufigste Fehlermeldung &#8222;Bdos Err On C: R\/O&#8220; die man bekam wenn man eine diskette gewechselt hatte und das BDOS davon nichts mitbekam.<\/p>\n<h2 class=\"western\">Architektur eines CP\/M Rechners.<\/h2>\n<p>Die meisten CP\/M Rechner hatten eine textbasierte Oberfl&auml;che. Das hei&szlig;t der Monitor zeigte nur Text an. CP\/M selbst kannte ja nur die Textdarstellung. Das musste aber nicht so sein. Ich arbeitete mit einem CPC 464, der einen Graphikbildschirm hatte, also Text mit Grafik mischen konnte. Die meisten Rechner hatten ein kleines ROM. Dieses ROM beinhaltete zum einen die Boot-Routine: Damit CP\/M &uuml;berhaupt lief, musste beim Einschalten des Rechners \u2013 bei 8080 Rechnern wird dabei das Programm ab Adresse 0 ausgef&uuml;hrt \u2013 ein Programm ausgef&uuml;hrt werden, dass mindestens den ersten Sektor von der Diskette in den Speicher einla&szlig; und das Programm dort ausf&uuml;hrte. Dieses lud dann den Rest von CP\/M von der Platte.<\/p>\n<p>Ein Rechner der nur Text ausgab, brauchte einen Bildschirmspeicher. Pro Zeichen das auf dem Bildschirm zu sehen war ben&ouml;tigte er ein Byte. Typisch waren 80 Zeichen in der Breite, da dies der normalen Breite einer A4 Seite bei Druckern entsprach. Letztendlich endete vieles was man erarbeitete ja auf Papier. In der H&ouml;he waren 24 oder 25 Zeilen &uuml;blich, was zu einem Speicherverbrauch von 2 KByte f&uuml;hrte. Manche Rechner hatten auch noch einen zweiten Speicherbereich den Attributspeicher. Ein Zeichen bei diesen rechnern konnte fett, kursiv, unterstrichen, durchgestrichen, invertiert oder blinkend dargestellt werden. F&uuml;r jeden Zustand konnte man ein Bit im Attributspeicher setzen, da die Attribute auch kombiniert werden konnten (wie Fett-Kursiv). Wie die Matrix das Zeichens aussah, das dann jeweils ausgegeben wurde, stand in einem Font-Rom. Bei einer groben Aufl&ouml;sung von 8 x 8 Pixeln brauchte man f&uuml;r den ASCII-Zeichensatz ohne Steuerzeichen 768 Byte pro Font. Zumindest die Kombinationen kursiv, fett und fett-kursiv erforderten weitere Zeichens&auml;tze, die anderen Attribute konnte man auch programmtechnisch umsetzen. Manche Systeme wie der <a href=\"https:\/\/www.bernd-leitenberger.de\/osborne.shtml\"> Osborne<\/a> 1 verf&uuml;gten &uuml;ber mehrere Fonts, die man wechseln konnte, aber nur jeweils einer konnte aktiv sein.<\/p>\n<p>Im ROM war meist auch das komplette BIOS, nicht nur zum Ansprechen der Disketten, sondern auch die Ein-\/Ausgabe von Tastatur, Bildschirm und Schnittstellen, gebr&auml;uchlich warne eine parallele (Centronics) Schnittstelle f&uuml;r einen Drucker und eine serielle f&uuml;r ein Modem oder serielle Drucker. Das BIOS auf der Diskette war dann relativ klein und beinhalte nur Routinen mit denen man das ROM in den Adressbereich einblendete und dann einen Sprungbefehl an die entsprechende Stelle des ROM-BIOS. Die typische Gr&ouml;&szlig;e eines BIOS mit einem Font war so 8 KByte.<\/p>\n<h2 class=\"western\">Bildschirm und Tastatur<\/h2>\n<p>CP\/M war vor allem als Diskettenbetriebssystem ausgelegt. Etwas stiefm&uuml;tterlich wurde die Eingabe &uuml;ber Tastatur und die Ausgabe auf den Bildschirm behandelt. Als die Version von CP\/M 1974\/75 entwickelt wurde, waren Terminals als Ein-\/Ausgabeger&auml;t &uuml;blich. Ein (Video)Terminal enthielt einen Bildschirm und eine Tastatur, wurde aber &uuml;ber eine serielle Schnittstelle an einen Computer angeschlossen und gab nur das weiter, was man eintippte, es lief aber kein Betriebssystem oder ein Anwenderprogramm auf ihm. Die Daten tauschte es &uuml;ber eine serielle Schnittstelle aus. Sp&auml;ter kamen separat anzuschlie&szlig;ende Monitore und Tastaturen auf den Markt.<\/p>\n<p>Heute findet man auf jeder Tastatur neben den direkt eintippbaren Buchstaben, Zahlen und Sonderzeichen, die auch eine Schreibmaschine hat, auch Funktionstasten, einen Cursorblock und den numerischen Block. Was diese beim Darauftippen an den Computer &uuml;bergeben wird, war je nach Typ der Tastatur damals unterschiedlich, es gab keinen Standard. Genauso war es bei der Ansteuerung eines Bildschirms. Man musste den Bildschirm l&ouml;schen, Cursor positionieren etc. Die L&ouml;sung f&uuml;r beide Probleme waren Steuercodes. Ein Byte im Speicher kann auch als ein druckbares Zeichen interpretiert werden, daf&uuml;r gab es den ASCII (American Code for Information Interchange) Code. Er belegte die Werte von 32 bis 127 mit den Zeichen, die man auf einer Tastatur eingeben kann, das \u201eA\u201c hat z.B. den Code 65. Die Werte &uuml;ber 128 waren nicht definiert und wurden manchmal f&uuml;r grafische Symbole genutzt. Die Codes unter 32 betrachtete man als Steuercodes, die nicht ausgegeben wurden, sondern eine Aktion ausl&ouml;sen. Einige sind bis heute in Benutzung: so wird eine Zeile von den beiden Codes 13 und 10 begrenzt, die fr&uuml;her beim Drucker einen Wagenr&uuml;cklauf auf den Zeilenbeginn und einen Zeilenvorschub ausl&ouml;sten. Andere Codes, die der Drucker nutzte, waren 8 (Tabulator), 9 (Klingelton), 11 (Seitenvorschub).<\/p>\n<p>Tastaturen haben bis heute ein Control-Taste, auf deutschen Tastaturen meist mit \u201eSTRG\u201c f&uuml;r \u201eSteuerung\u201c beschriftet. Dr&uuml;ckte man auf die und dann auf einen Buchstaben so &uuml;bergab die Tastatur ein Steuerzeichen an den Computer und zwar den Code 1 bei dem Buchstaben A und den Code 27 bei dem Buchstaben Z. So konnte man die Tastatur auch f&uuml;r Cursorbewegungen nutzen. Bis heute hat sich in Spielen die Nutzung der Tasten ESDX f&uuml;r die Cursorbewegung gehalten. Die popul&auml;re Anwendung Wordstar, das erste brauchbare Textverarbeitungsprogramm, setzte einen Quasistandard, indem sie die Tasten auf der linken H&auml;lfte der Tastatur f&uuml;r Cursorbewegungen \/ Scrollen nutzte und Tasten auf der rechten Seite f&uuml;r komplexere Befehle, indem diese als Prefix galten. So STRG+K f&uuml;r Blockoperationen. STRG-KW speicherte einen Block, STRG-KR la&szlig; einen Block ein.<\/p>\n<p>CP\/M nutzte praktisch keine dieser Codes. Mit STRG+P konnte man die Ausgabe auf den Drucker umleiten, mit STRG+S die Ausgabe tempor&auml;r anhalten. Am meisten brauchte man STRG+C das brach eine Anwendung ab und lud das BDOS \/ CCP von der Diskette und man war wieder bei CP\/M. Tastatureingaben konnte man zeichenweise oder die ganze Zeile l&ouml;schen. Es gab keine Cursorbewegung in der Eingabezeile.<\/p>\n<p>Beim Bildschim ging man &auml;hnlich vor. Hier wurden Steuerzeichen in den Ausgabetext eingebaut und jedes System interpretierte diese anders. Bei meinem <a href=\"https:\/\/www.bernd-leitenberger.de\/cpc464.shtml\">CPC 464<\/a> wurde der Text z.B. CTRL-X (24) invertiert. Es gab schon Standards so die popul&auml;ren Terminals von DEC VT-52 und VT-100. Aber im Prinzip konnte jeder Hersteller sein eigenes S&uuml;ppchen kochen. So wechselte auch Amstrad zwischen dem CPC 464\/664 und dem <a href=\"https:\/\/www.bernd-leitenberger.de\/Amstrad-CPC-Serie.shtml\">6128<\/a> die Steuercodes aus.<\/p>\n<p>F&uuml;r den Anwender bedeutete das: er konnte eine Anwendung nicht einfach starten, er musste dieser erst mitteilen welche Steuercodes sein System verwendete. Popul&auml;re Systeme waren meist in einem Installationsprogramm hinterlegt, ansonsten musste man Fragen beantworten oder gar Speicherstellen modifizieren. Der folgende Ausdruck zeigt die Liste der Computer, die das Installationsprogramm von <a href=\"https:\/\/www.bernd-leitenberger.de\/turbo-pascal-history.shtml\">Turbo Pascal 3.02<\/a> kannte:<\/p>\n<p><span style=\"font-family: Courier New, monospace;\">Choose one of the following terminals:<\/span><img loading=\"lazy\" decoding=\"async\" src=\"file:\/\/\/C:\/Users\/Admin\/Documents\/Websites\/bernd-leitenberger\/img\/cpm3.0.jpg\" alt=\"CP\/M 3.0\" width=\"768\" height=\"541\" \/><\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span class=\"auto-style2\" style=\"font-size: xx-small;\">1) ADDS 20\/25\/30 13) Lear-Siegler ADM-31 25) Teleray series 10<\/span><\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\">2) ADDS 40\/60 14) Liberty 26) Teletex 3000<\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\">3) ADDS Viewpoint-1A 15) Morrow MDT-20 27) Televideo 912\/920\/92<\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\">4) ADM 3A 16) Schneider 464\/664 28) Texas Instruments<\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span class=\"auto-style2\" style=\"font-size: xx-small;\">5) Ampex D80 17) Otrona Attache 29) Visual 200<\/span><\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span class=\"auto-style2\" style=\"font-size: xx-small;\">6) Kaypro with hilite 18) Qume 30) Wyse WY-100\/200\/300<\/span><\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span class=\"auto-style2\" style=\"font-size: xx-small;\">7) DEC Rainbow, 8 bit 19) RC-855 (ITT) 31) Zenith<\/span><\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span class=\"auto-style2\" style=\"font-size: xx-small;\">8) Hazeltine Esprit 20) Osborne 1 32) Schneider 6128<\/span><\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span class=\"auto-style2\" style=\"font-size: xx-small;\">9) ANSI 21) Soroc 120\/Apple CP\/M 33) None of the above<\/span><\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span class=\"auto-style2\" style=\"font-size: xx-small;\">10) Hazeltine 1500 22) Soroc new models 34) Delete a definition<\/span><\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span class=\"auto-style2\" style=\"font-size: xx-small;\">11) Kaypro, no hilite 23) SSM-UB3<\/span><\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span class=\"auto-style2\" style=\"font-size: xx-small;\">12) Lear-Siegler ADM-20 24) Tandberg TDV 2215<\/span><\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span class=\"auto-style2\" style=\"font-size: xx-small;\"> Which terminal? (Enter no. or ^Q to exit):<\/span><\/span><\/p>\n<p><a href=\"https:\/\/www.bernd-leitenberger.de\/kildall.shtml\">Gary Kildall<\/a> bzw. die Angestellten von Digital Equipment haben nie hier etwas festgelegt. Vielleicht weil sei m&ouml;glichst wenige Vorgaben machen wollten. Das ist schade, denn es h&auml;tte die Vielfalt ja nicht unterbunden, wenn f&uuml;r jedes System gelten w&uuml;rde, das die Ausgabe des Steuerzeichens 11 den Bildschirm l&ouml;scht. Ein BIOS, das ein VT-100 Terminal unterst&uuml;tzt, h&auml;tte durch eine einfache Ersetzungstabelle daraus ein \u201e<span style=\"color: #000000;\">^[[2J\u201c gemacht (^steht f&uuml;r den Code 27, ESC). Den Anwender w&auml;ren viele Stunden der Installation von Software erspart gewesen. Ebenso h&auml;tte man wichtige Funktionstasten f&uuml;r Cursorbewegung, Rollen, Scrollen etc. mit Controlcodes belegen k&ouml;nnen und auch hier h&auml;tte das BIOS den Scancode den eine Tastatur prim&auml;r liefert, in den Code f&uuml;r CP\/M umwandeln k&ouml;nnen.<\/span><\/p>\n<p><span style=\"color: #000000;\">Im Allgemeinen gab es bei Bildschirm und Tastatur kaum Vorgaben. Der Bildschirm musste nur 64 Zeilen Breite haben. Mehr nutzte CP\/M nie, auch auf 80 Zeichen Bildschirmen wurden bei der Directoryausgabe maximal 64 Zeichen genutzt und die Tastatur musste nur die einer Schreibmaschine sein. Editieren konnte man in der Eingabezeile nur, indem man das letzte Zeichen oder die ganze Zeile l&ouml;schte, was aber bei den kurzen Dateinamen und wenigen Parametern die damals &uuml;blich waren keine gro&szlig;e Einschr&auml;nkung war.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_17922\" class=\"pvc_stats all  \" data-element-id=\"17922\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/www.bernd-leitenberger.de\/blog\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p>Weiter geht es in der mehrteiligen Artikelserie &uuml;ber die Technik die hinter CP\/M steckt. Gestern erschien der erste Teil, an diesen schlie&szlig;t dieser zweite Teil direkt an. Komplett findet ihr das ganze auf der Website. Hier alle Tele: Erschienen sind: Teil 1 behandelt den Aufbau des Speichers und des Dateisystems und sie lesen gerade: Teil [&hellip;]<\/p>\n","protected":false},"author":169,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4],"tags":[5268,1351,5269,4455,4601],"class_list":["post-17922","post","type-post","status-publish","format-standard","hentry","category-computer","tag-bdos","tag-bios","tag-ccp","tag-cpm","tag-gary-kildall","entry"],"a3_pvc":{"activated":true,"total_views":145,"today_views":0},"jetpack-related-posts":[{"id":18802,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/08\/02\/die-sea-dragon-3\/","url_meta":{"origin":17922,"position":0},"title":"Die Sea Dragon (3)","author":"Bernd Leitenberger","date":"02.08.2026","format":false,"excerpt":"Heute geht es weiter mit dem letzten Teil zur Sea Dragon. Teil 1 mit grundlegenden Antworten zu dem Konzept auf eine Frage von Vineyard erschien schon vor einigen Tagen. Der zweite Teil besch\u00e4ftigte sich mit dem Konzept und heute kommt der abschluss - die Diskussion. Teil 2 und dieser findet\u2026","rel":"","context":"In &quot;Raumfahrt&quot;","block_context":{"text":"Raumfahrt","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/raumfahrt\/"},"img":{"alt_text":"","src":"https:\/\/vg02.met.vgwort.de\/na\/60817019f25c47b792994597eeba621c","width":350,"height":200},"classes":[]},{"id":18458,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2025\/10\/23\/die-agena-c-2\/","url_meta":{"origin":17922,"position":1},"title":"Die Agena C","author":"Bernd Leitenberger","date":"23.10.2025","format":false,"excerpt":"Wie ihr sicher bemerkt habt, war es etwas ruhig hier im Blog. Der Grund ist ganz einfach, ich habe mich endlich entschlossen, einen Schlussstrich zu ziehen. Nein, nicht unter dem Blog. Seit f\u00fcnf Jahren will ich Band 2 des Apolloprogramms fertigstellen und habe in den letzten Jahren eigentlich immer nur\u2026","rel":"","context":"In &quot;Raumfahrt&quot;","block_context":{"text":"Raumfahrt","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/raumfahrt\/"},"img":{"alt_text":"","src":"https:\/\/vg04.met.vgwort.de\/na\/d6474dec02b34cf385a0dfced0cffb64","width":350,"height":200},"classes":[]},{"id":18406,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2025\/09\/23\/der-blogautor-von-der-ki-beurteilt\/","url_meta":{"origin":17922,"position":2},"title":"Der Blogautor von der KI beurteilt","author":"Bernd Leitenberger","date":"23.09.2025","format":false,"excerpt":"Ich nutze inzwischen auch eine KI. Prim\u00e4r zu Recherche, im Browser https:\/\/www.perplexity.ai die f\u00fcr Recherchen (nach Eigenauskunft) spezialisiert ist. Seit ich vor mehr als zwei Jahren die KI zum ersten Mal getestet habe, hat diese sich enorm gebessert. Sie fabuliert weniger und ist intelligenter. Damals konnte man noch die AI\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/vg01.met.vgwort.de\/na\/c334c52e97b74da9b82424a9e80c6d97","width":350,"height":200},"classes":[]},{"id":18847,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/08\/21\/raumfahrtgrundlagen-fuer-dummys-die-raketengrundgleichung-2\/","url_meta":{"origin":17922,"position":3},"title":"Raumfahrtgrundlagen f&uuml;r Dummys \u2013 Die Raketengrundgleichung (2)","author":"Bernd Leitenberger","date":"21.08.2026","format":false,"excerpt":"Der heutige Grundlagenartikel f\u00fcr \u201eDummys\u201c (nicht ganz w\u00f6rtlich zu nehmen \u2013 echte Dummk\u00f6pfe steuern den Blog ohnehin nicht an, daf\u00fcr sind sie zu dumm \u2026) besch\u00e4ftigt sich erneut mit der Raketengrundgleichung. Sie ist so fundamental und greift in alle Bereiche der Raketenkonstruktion hinein, dass man sie nicht in einem einzigen\u2026","rel":"","context":"In &quot;Grundlagen&quot;","block_context":{"text":"Grundlagen","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/raumfahrt\/grundlagen\/"},"img":{"alt_text":"","src":"https:\/\/vg04.met.vgwort.de\/na\/8e77783979404dbba8198b92a66dab38","width":350,"height":200},"classes":[]},{"id":18393,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2025\/09\/18\/die-falcon-9-eine-nachlese\/","url_meta":{"origin":17922,"position":4},"title":"Die Falcon 9 &#8211; eine Nachlese (1)","author":"Bernd Leitenberger","date":"18.09.2025","format":false,"excerpt":"Nachdem \"SimonVR\" mich darauf aufmerksam gemacht hat, dass mein Falcon 9 Artikel sowie der \u00fcber die Entwicklung der Falcon 9 doch etwas abgehangen ist, denke ich, mache ich mal einen Blog dazu. Zuerst mal, worum es hier NICHT geht: n\u00e4mlich eine Einsatzgeschichte der Falcon 9. Ebenso habe ich die wirtschaftliche\u2026","rel":"","context":"In &quot;SpaceX&quot;","block_context":{"text":"SpaceX","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/raumfahrt\/spacex\/"},"img":{"alt_text":"","src":"https:\/\/vg02.met.vgwort.de\/na\/8d7fcc876a9d4ed4b27890b8d59e8e87","width":350,"height":200},"classes":[]},{"id":18610,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/03\/27\/galileos-cds-teil-1\/","url_meta":{"origin":17922,"position":5},"title":"Galileos CDS &#8211; Teil 1","author":"Bernd Leitenberger","date":"27.03.2026","format":false,"excerpt":"Hall\u00f6chen, es wird Zeit das ich mich mal wieder melde. Es gab zwei Gr\u00fcnde, warum ich mich so rar gemacht habe. Das eine ist das es gerade nicht so viel aktuelles gibt, au\u00dfer einem Update zu Artemis, zu dem ich vielleicht noch etwas schreibe. W\u00e4hrend Trump das ganze Programm nach\u2026","rel":"","context":"In &quot;Raumfahrt&quot;","block_context":{"text":"Raumfahrt","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/raumfahrt\/"},"img":{"alt_text":"","src":"https:\/\/vg07.met.vgwort.de\/na\/4fb81c7bafbd4d9d88b5695abdb33d29","width":350,"height":200},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/posts\/17922","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/users\/169"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/comments?post=17922"}],"version-history":[{"count":0,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/posts\/17922\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/media?parent=17922"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/categories?post=17922"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/tags?post=17922"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}