{"id":3755,"date":"2010-11-15T01:26:26","date_gmt":"2010-11-15T00:26:26","guid":{"rendered":"http:\/\/www.bernd-leitenberger.de\/blog\/?p=3755"},"modified":"2010-11-15T12:02:09","modified_gmt":"2010-11-15T11:02:09","slug":"bankswitching","status":"publish","type":"post","link":"https:\/\/www.bernd-leitenberger.de\/blog\/2010\/11\/15\/bankswitching\/","title":{"rendered":"Bankswitching"},"content":{"rendered":"<p>Das heutige Thema kommt vielleicht 25-30 Jahre zu sp&auml;t, aber vielleicht interessiert es den einen oder anderen doch, wie sein Heimcomputer mit mehr als 64 KByte Speicher zurecht kam.? Es geht darum, wie ein ein 8-Bit-Prozesssor mehr als 64 KB Gesamtspeicher verwaltet. Als erstes muss klar sein, dass wir von Gesamtspeicher reden, also RAM und ROM (ich glaube viele w&auml;ren in den achtziger Jahren schon froh gewesen, wenn der Rechner jeweils 64 KByte RAM und 64 KByte ROM h&auml;tte ansprechen k&ouml;nnen, aber leider ist dem nicht so).<br \/>\nFangen wir zuerst mal an wie der Speicher adressiert wird. Wenn der Computer ein Wort aus dem Speicher lesen m&ouml;chte macht er folgendes:<\/p>\n<ul>\n<li>Er legt die Adresse von der der Zugriff erfolgt auf den Adressbus<\/li>\n<li>Er zieht das Chip-Select Signal auf logisch 0 (bei den Bausteinen steht immer kein Strom f&uuml;r Zugriff und Strom f&uuml;r keinen Zugriff)<\/li>\n<li>Er wartet einen Takt bis der Speicher die Adresse dekodiert und die Daten auf den Datenbus geschrieben hat<\/li>\n<li>Er liest die Daten &uuml;ber den Datenbus ein.<!--more--><\/li>\n<\/ul>\n<p>Ein Speicherbaustein wird &uuml;ber eine eigene Leitung mit der Bezeichnung Chip-Select aktiviert. Solange wir nur einen Speicherbaustein haben ist das kein Problem. Eine solche Leitung hat auch die CPU. Nur &#8211; selbst in einem Minimalsystem reicht das nicht aus. Schlie&szlig;lich werden &uuml;ber diese Leitung auch Peripheriebausteine aktiviert, die man schon ben&ouml;tigt wenn man eine Tastatur oder 7-Segmentanzeige anschlie&szlig;en m&ouml;chte.<\/p>\n<p>In der Regel gibt es mehr als einen Baustein. Selbst im ZX81 steckten je ein RAM und ein ROM. In meinem CPC-464 waren es acht RAM (Typ 4164) und ein ROM (Typ 23256). Wie adressiert man mehr als einen Baustein? Es geht mit einem Baustein der ber&uuml;hmten 74xxx Serie. Diese TTL Bausteine waren einfache Gatter die Eingangssignale logisch verkn&uuml;pften. Der Baustein LS74138 ist z.B. ein 3 zu 8 Dekoder. Er hat drei Eingangsleitzungen und acht Ausgangsleitungen. Damit kann man z.B. den 64 KByte Adressbereich in acht Bereiche aufteilen. Der Baustein macht dabei folgende Verkn&uuml;pfung:<\/p>\n<table class=\"style1\">\n<tbody>\n<tr>\n<th>Eingangsleitung 1<\/th>\n<th>Eingangsleitung 2<\/th>\n<th>Eingangsleitung 3<\/th>\n<th>Ausgangsleitung aktiv<\/th>\n<\/tr>\n<tr>\n<td>0<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<td>1<\/td>\n<\/tr>\n<tr>\n<td>0<\/td>\n<td>0<\/td>\n<td>1<\/td>\n<td>2<\/td>\n<\/tr>\n<tr>\n<td>0<\/td>\n<td>1<\/td>\n<td>0<\/td>\n<td>3<\/td>\n<\/tr>\n<tr>\n<td>0<\/td>\n<td>1<\/td>\n<td>1<\/td>\n<td>4<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<td>5<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>0<\/td>\n<td>1<\/td>\n<td>6<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>1<\/td>\n<td>0<\/td>\n<td>7<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>1<\/td>\n<td>1<\/td>\n<td>8<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><!--werbungbeginn--> <!--#include virtual=\"nav\/werbung4.html\"--> <!--werbungend--><\/p>\n<p>Wenn man nun die Adressleitungen A13 bis A15 eines Chips auf die Eingangsleitungen legt und eine Adresse auf den Datenbus legt, dann passiert folgendes:<\/p>\n<table class=\"style1\">\n<tbody>\n<tr>\n<th>Adresse Start<\/th>\n<th>Adresse Ende<\/th>\n<th>Ausgangsleitung aktiv<\/th>\n<\/tr>\n<tr>\n<td>0<\/td>\n<td>1FFF<\/td>\n<td>1<\/td>\n<\/tr>\n<tr>\n<td>2000<\/td>\n<td>3FFF<\/td>\n<td>2<\/td>\n<\/tr>\n<tr>\n<td>4000<\/td>\n<td>5FFF<\/td>\n<td>3<\/td>\n<\/tr>\n<tr>\n<td>6000<\/td>\n<td>7FFF<\/td>\n<td>4<\/td>\n<\/tr>\n<tr>\n<td>8000<\/td>\n<td>9FFF<\/td>\n<td>5<\/td>\n<\/tr>\n<tr>\n<td>A000<\/td>\n<td>BFFF<\/td>\n<td>6<\/td>\n<\/tr>\n<tr>\n<td>C000<\/td>\n<td>DFFF<\/td>\n<td>7<\/td>\n<\/tr>\n<tr>\n<td>E000<\/td>\n<td>FFFF<\/td>\n<td>8<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Alle Angaben sind in Hexadezimal. Die Ausgangsleitung ist dann ein Chip-Select Signal f&uuml;r einen Baustein. So wird jeweils nur ein Baustein angesprochen. So kann man sehr einfach z.B. acht RAM Bausteine mit 64 KByte ansprechen oder eine Mischung von RAM Bausteinen mit ROM Bausteinen, sofern es nicht mehr als acht sind. So kann sehr einfach ein Mikrocomputer mit bis zu 64 KB RAM\/RON wie z.B. der Dragon 32 oder Sinclair Spektrum entworfen werden. Es gibt andere Bausteine der 74xxx Serie die andere Verkn&uuml;pfungen oder mehr Ausgangsleitungen aufweisen oder man kann sie kombinieren. Die fr&uuml;hen Platinen waren daher gut gef&uuml;llt mit diesen Bausteinen, auch weil man neben den Chips ja noch die Bussysteme trennen musste, Tastaturen und Ein\/Ausgabeports hatten eigene Leitungen und d&uuml;rften auch nicht permanent aktiv sein. Besonders die damals beliebten Einplatinencomputer von Zeitschriften waren daher &uuml;bers&auml;t von diesen Bausteinen und Platinen wurden daher auch gerne als &#8222;TTL-Grab&#8220; bezeichnet. Sp&auml;ter entwickelten die meisten Hersteller eigene Bausteine, welche die wichtigsten Signaltrennungen durchf&uuml;hrten. Auch mein CPC hatte einen solchen als ULA bezeichneten Baustein. (ULA: Uncommitted Logic Array). Sie fassten mehrere andere Bausteine der 74xxx Serie in einem gr&ouml;&szlig;eren Gatter zusammen, waren preiswerter zu produzieren und sparten Platz auf der Platine. ZX Spektrum, Acorn und CPC hatten solche ULA&#8217;s<\/p>\n<p>Wenn man diese Zusammenh&auml;nge kennt, dann ist der Hardwareteil des Bankswitchings recht einfach zu verstehen: Im Prinzip werden weitere Bausteine genau so angesprochen wie die bisherigen. Auch das Verkn&uuml;pfen der Signale f&uuml;r die Chip-Select Signal geht genauso. Nur m&uuml;ssen von irgendwo her die Signale f&uuml;r die zus&auml;tzlichen ben&ouml;tigten Adressleitungen herkommen. Nun wird es systemspezifisch. Ich gehe jetzt mal von einem Z80 Prozessor aus, weil ich mich da von meinem Computer CPC 464-6128 Serie auskenne. Schon der kleinste der Serie hatte 64 KB RAM und 32 KB ROM, musste also Bankswitching durchf&uuml;hren. Die Rechner waren erweiterbar um 255 ROM&#8217;s mit jeweils 16 KB Gr&ouml;&szlig;e und die 6128 Serie hatte 128 KB RAM (mit Speichererweiterung hatte mein CPC 464 insgesamt 64 KB ROM und 576 KB RAM).<\/p>\n<p>Beim Z80 ging dies sehr elegant, weil dieser neben dem Datenbus und Adressbus auch &uuml;ber einen Steuerbus mit 16 weiteren Leitungen hatte und dieser angesprochen wurde wie der Speicher. Dazu gab die Anweisungen IN und OUT. Die Adresse von der gelesen oder gespeichert wird, wird dabei im Register BC vorgegeben. 16 Leitungen sind mehr als genug f&uuml;r Speicherweiterungen. Wenn nicht an diesem Steuerbus auch einige Peripherieger&auml;te (wie z.B. im Schneider das 8255 mit vier I\/O Ports, der Soundchip AY-8912 und der Video Display Prozessor 6845) h&auml;ngen w&uuml;rden, dann k&ouml;nnte man so &uuml;ber diesen Mechanismus 4 GByte RAM adressieren.<\/p>\n<p>Beim CPC 464 wurde so vorgegangen, wie bei anderen Computern auch: bestimmte Bausteine f&uuml;hlten sich angesprochen wenn bestimmte Adressleitungen des Kontrollbuses ein Signal aufweisen. Dadurch belegten sie ganze Adressr&auml;ume. So sah es beim Basismodell CPC 464 aus:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft\" src=\"\/img\/cpc-464-iobus.jpg\" alt=\"\" width=\"547\" height=\"541\" align=\"left\" \/>Deutlich wird, dass beim Systembus immerhin noch die unteren 8 Bits belegt werden k&ouml;nnen. Auch davon standen nicht alle zur Verf&uuml;gung. Bestimmte Bereiche wurden f&uuml;r Schnittstellen und die Diskstationen (bis zu 4 Disks) reserviert, ebenfalls nach dem Adressbereichprinzip. Doch 4 Bits waren noch frei. Diese hat der Hersteller meiner Speichererweiterung z.B. f&uuml;r 512 KByte RAM (in Kacheln von je 32 KB) genutzt.<\/p>\n<p>Das ansprechen ist das eine, doch ein lauff&auml;higes System ist ein anderer Punkt. Die Architektur des CPC 464 in der Basiskonfiguration zeigt Abbildung 2.<\/p>\n<p>In den unteren 16 KB liegt das Betriebssystem. In den oberen 16 KB der Videospeicher und der Basic Interpreter und Erweiterungs-ROMs, die beim CPC RSX hie&szlig;en (ich hatte 2 RSX im Einsatz, eines mit dem Diskettenbetriebssystem und eines f&uuml;r die Speichererweiterung mit einem Monitorprogramm. 7 k&ouml;nnen direkt angesprochen werden, maximal 255 indirekt).<\/p>\n<p>Die Betriebsweise wird bei BASIC deutlich: Der BASIC Interpreter kopierte die Quelltextzeile in den Speicherbereich unter den Videospeicher (wie bei den meisten Rechnern waren nat&uuml;rlich nicht mal die 48 K voll nutzbar, aber immerhin 43.903 Bytes f&uuml;r BASIC &#8211; mehr als bei jedem anderen 8-Bit-Computer den ich kenne). In diesem Bereich hatten BASIC Interpreter und Betriebssystem Zugriff auf die Daten. Nur das Betriebssystem griff auf den Videospeicher zu &#8211; der Zugriff erfolgte &uuml;ber eine Tabelle von Spr&uuml;ngen im oberen Bereich ab der Adresse BB00H. Diese f&uuml;hrten zu einem RST Befehl, der &uuml;ber einen Out Befehl das Betriebssystem in den Adressraum einblendete. Wer eigene Programme schrieb und das Betriebssystem aufrief tat also gut daran diese erst bei 4000H beginnen zu lassen&#8230;.<\/p>\n<p>Analog konnte das Betriebssystem auch die ROM Erweiterungen im oberen Bereich einblenden. Da es schon dieses Konzept gab war es kein Problem es zu erweitern als 128 KB Speicher modern wurden. Beim CPC 6128 wurde das umgesetzt. Ich glaube sp&auml;ter waren sogar Modelle mit 256 und 512 KB auf dem Markt, aber nicht mehr in Deutschland.<\/p>\n<p>Das Umschalten erfolgte durch Befehle wie OUT A,(BC), wobei BC im zweiten Registersatz (den man nicht benutzen sollte) immer das aktuelle Steuerwort enthielt welches RAM\/ROM gerade aktiv war.<\/p>\n<p>Der nutzen war jedoch eingeschr&auml;nkt, weil die grundlegende Architektur aus Kompabilit&auml;tsgr&uuml;nden nicht ver&auml;ndert wurde. Das Modell 6128 hatte einige zus&auml;tzliche Befehle, die als RSX realisiert wurden, das waren Befehle in ROM&#8217;s, die mit &#8222;|&#8220; anfingen. Es gab zwei Einsatzm&ouml;glichkeiten: Nutzung um vier Bilder zu je 16 KB zwischenzuspeichern oder als RAM-Floppy von 64 KB Gr&ouml;&szlig;e f&uuml;r feste Datensatzgr&ouml;&szlig;en (daf&uuml;r aber freier Zugriff). Nicht viel. Fremdhersteller w&auml;ren da erfindungsreicher.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" src=\"\/img\/cpc-464-ram-rom.jpg\" alt=\"RAM und ROM\" width=\"553\" height=\"558\" align=\"right\" \/>Mein CPC 464 hatte eine 512 KB Speichererweiterung von Vortex. Unter Basic konnte man dort 10 Programme von je 32 KB Gr&ouml;&szlig;e ablegen und einen 32 KB Druckerspooler nutzen. Der Rest des Speichers wie beim 6128 als RAM-Floppy. Immerhin war der Speicher f&uuml;r BASIC Programme nutzbar, es gab auch GOTO und GOSUB Befehle die direkt eine Bank springen konnten. Ich nutzte das f&uuml;r ein Kombiprogramm: Einen Texteditor mit Assembler \/ Monitor. Das waren eigentlich drei Programme aber so liefen sie gelichzeitig.<\/p>\n<p>Viel sinnvoller war die Nutzung unter CP\/M. CP\/M konnte ab der Version 3.0 Bank-Switching. Vortex lieferte eine Anpassung f&uuml;r CP\/M 2.2 die fast so viel Speicher freischaufelte. Da CP\/M ein anderes Betriebssystem war, musste es keine R&uuml;cksicht auf die Position von BASIC Interpreter und RSX nehmen. So kam man in den Genuss von rund 61-62 KB freiem Speicher unter CP\/M. Den Rest belegten die Sprungvektoren und Datenpuffer. Vortex nutzte auch den restlichen Speicher als RAM Disk (448 KB). Das war wirklich praktisch. Ich schrieb auf meine Disketten ein Startprogramm das beim Booten einfach den ganzen Inhalt in die RAM Disk kopierte. Nur das R&uuml;ckkopieren d&uuml;rfte man nicht vergessen. In Zeiten in denen Disketten langsam waren war das traumhaft.<\/p>\n<p>Eine zweite Methode war bei 6502 Systemen n&ouml;tig. Diese hatten keinen Steuerbus mit eigenen Adressleitungen die f&uuml;r diesen Zweck genutzt wurden. Hier wurden MMU (Memory Management Units) eingesetzt. Das System einer MMU ist relativ einfach: Sie enth&auml;lt eine Reihe von Tabelleneintr&auml;gen, jeder steht f&uuml;r eine Adresse. Anstatt 16 Bits f&uuml;r den ganzen Adressraum ben&ouml;tigt der Prozessor dann nur wenige Bits um die Tabelleneintr&auml;ge zu adressieren. Ein einfacher Baustein ist z.B. das 74LS610, ein TTL Baustein mit 16 Registern &#8218;a 12 Bit Breite.<\/p>\n<p>Das ganze ging dann z.B. so: 4 Bits werden ben&ouml;tigt um die 16 Register anzusprechen. Daher werden die oberen 4? Adressleitungen mit den Leitungen welche ein Register des 74LS610 selektierten verbunden. Die Datenleitungen 1-8 (der 6502 konnte nicht in einem Schritt ein 16 Bit Wort ausgeben) wurden mit dem 6502 verbunden. Dazu kam dann noch eine Logik, um den Chip zu selektieren, wie dies bei anderen Periphierebausteinen geschieht.<\/p>\n<p>Der 6502 gibt nun zuerst an den 74LS610 ein Datenwort aus. Es enth&auml;lt eine 8 Bit Adresse und wird in ein Register geschrieben. Danach kann auf den Speicher zugegriffen werden, Die unteren 12 Bits kommen vom 6502. Sie selektieren eine 4 KByte gro&szlig;e Seite im Adressraum. Die oberen 8 Bits kommen vom 74LS610. Sie selektieren eine 4 KB Seite in einem 1 MB gro&szlig;en Adressraum. (12 Adressbits vom 6502 und 8 Bits vom 74LS610). ein 8080\/Z80 System h&auml;tte mit demselben Baustein sogar 16 MB adressieren k&ouml;nnen.<\/p>\n<p>Warum war Bankswitching trotzdem so schlecht beleumundet? Man darf nicht vergessen, dass im Prinzip auch der 8086 Bank Switching nach Art einer MMU durchf&uuml;hrte. Der 8086 sprach nur ein Segment von 64 KB an. Mit drei Segmentregistern konnten drei Bereiche im 1 MB Gro&szlig;en Adressraum angesprochen werden. Durch Indexregister konnte die Startadresse jeweils in 16 Byte Abst&auml;nden verschoben werden. Das ist das gleiche Prinzip wie bei einer MMU, nur ist die Programmierung etwas einfacher.<\/p>\n<p>Die Gr&uuml;nde daf&uuml;r liegen, dass Rechner mit mehr als 64 KB RAM recht sp&auml;t aufkamen. CP\/M verf&uuml;gte ab 1982 die M&ouml;glichkeit f&uuml;r Bankswitching. Der Speicher wurde zuerst nur genutzt um CP\/M in den zweiten 64 KB Bereich auszulagern. Schon es war ein Kompromiss zwischen dem alten CP\/M das f&uuml;r Anwendungsprogramme den Bereich zwischen 100H und dem Start des Betriebssystems zur Verf&uuml;gung stellte, aber einen durchg&auml;ngigen Adressbereich. Wenn es mit der Komptabilit&auml;t gebrochen h&auml;tte und Systemaufrufe f&uuml;r das Auslagern von Programmspeicher zur Verf&uuml;gung gestellt h&auml;tte, so h&auml;tte man sicher den Speicher effizienter nutzen k&ouml;nnen.<\/p>\n<p>Die Umsetzung von Vortex den Speicher als RAM-Floppy und Spooler zu nehmen, war auch recht popul&auml;r bei gr&ouml;&szlig;eren Rechnern. Die meisten Anwendungsprogramme f&uuml;r CP\/M waren ja auch alt und liefen auch unter dem alten CP\/M 2.2. Sie kamen gut mit 64 KB und mehr Speicher machte einfach das Arbeiten bequemer, aber stellten nicht mehr Speicher zur Verf&uuml;gung. Man darf nicht vergessen, dass in den fr&uuml;hen MS-DOS Versionen es auch nur das COM-Dateiformat f&uuml;r ausf&uuml;hrbare Programme gab &#8211; auch das war auf 64 KB Gr&ouml;&szlig;e beschr&auml;nkt.<\/p>\n<p>Noch schlechter war das bei Heimcomputern gel&ouml;st die unter BASIC arbeiteten, sei es Commodore C128, MSX oder Spektrum 128. Die Rechner wurden einfach auf 128 KB aufgebohrt und der zus&auml;tzliche Speicher konnte nur auf Umwegen genutzt werden. Die Befehle f&uuml;r RAM-Floppy und Grafikbildschirme beim CPC 6128 waren da ja schon &#8222;fortschrittlich&#8220;. Bei den MSX Rechnern konnten schon mehr als 32 KB RAM nur &uuml;ber Maschinenspracheprogrammierung genutzt werden. Mit den BASIC Interpretern und dem Betriebssystem im ROM war klar dass f&uuml;r Programme maximal 40 KB zur Verf&uuml;gung standen. Ich glaube damit w&auml;ren auch viele zufrieden gewesen, wenn die anderen 64 KB einen anderen Vorteil versprochen h&auml;tten. Warum hat man den zus&auml;tzlichen Speicher nicht als Videoram benutzt? Das wird sowieso von der CPU verwaltet. Der in vielen Rechnern eingesetzte MC 6845 CRT Kontroller kann bis zu 512 KB adressieren. Wenn die zweiten 64 KB der popul&auml;ren 128 KB Computer als Videoram ausgelegt worden waren, dann w&auml;re eine Aufl&ouml;sung von 320 x 200 in 256 Farben oder 640 x 400 in 4 Farben m&ouml;glich gewesen &#8211; fast EGA Aufl&ouml;sung. Das w&auml;re gerade bei den Spielmaschinen von Vorteil gewesen.<\/p>\n<p>Die 128 KB Maschinen sehr ich als typische letzte Vertreter einer Serie &#8211; so wie heute mehr Megapixel z&auml;hlen, egal ob dadurch die Bildqualit&auml;t besser wird, hat man damals eben einfach auf die KB Angaben geschaut &#8211; egal ob diese nutzbar waren.<\/p>\n<hr \/>\n<p>So, da dies ein sehr langer Beitrag war. Heute mal wieder einen Tag Pause. Vielleicht kommt ja jemand auf ein allgemeines R&auml;tsel, das nicht so schnell l&ouml;sbar ist? Ich habe inzwischen mit meinem n&auml;chsten Buch begonnen, das den Titel &#8222;Das ist drin &#8211; der etwas andere Lebensmittelf&uuml;hrer&#8220; tr&auml;gt. Es geht wie bei anderen Lebensmittelf&uuml;hrern &uuml;ber die Zusammensetzung dieser, nur eben mehr Aufmerksamkeit auf verarbeitete Lebensmittel und Zusatzstoffe gelegt.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Das heutige Thema kommt vielleicht 25-30 Jahre zu sp&auml;t, aber vielleicht interessiert es den einen oder anderen doch, wie sein Heimcomputer mit mehr als 64 KByte Speicher zurecht kam.? Es geht darum, wie ein ein 8-Bit-Prozesssor mehr als 64 KB Gesamtspeicher verwaltet. Als erstes muss klar sein, dass wir von Gesamtspeicher reden, also RAM und [&hellip;]<\/p>\n","protected":false},"author":169,"featured_media":0,"comment_status":"open","ping_status":"open","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":[1652,1651,1650,1653,541],"class_list":["post-3755","post","type-post","status-publish","format-standard","hentry","category-computer","tag-74ls138","tag-74ls610","tag-bankswitching","tag-cpc-6128","tag-vortex","entry"],"a3_pvc":{"activated":false,"total_views":452,"today_views":0},"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":18614,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/03\/29\/galileos-cds-teil-3\/","url_meta":{"origin":3755,"position":0},"title":"Galileos CDS &#8211; Teil 3","author":"Bernd Leitenberger","date":"29. M\u00e4rz 2026","format":false,"excerpt":"So nun zum dritten Teil \u00fcber das prim\u00e4re Computersystem von Galileo, das CDS. Nachdem sich die ersten beiden Teile nur mit dem RCA 1802, warum er gew\u00e4hlt wurde und seiner Architektur befassten geht es heute um das Computersystem selbst. Der Artikel schlie\u00dft so an seine beiden Vorg\u00e4nger gestern und vorgestern\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\/6e7f572a246b4ac395de9c260733b707","width":350,"height":200},"classes":[]},{"id":18612,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/03\/28\/galileos-cds-teil-2\/","url_meta":{"origin":3755,"position":1},"title":"Galileos CDS \u2013 Teil 2","author":"Bernd Leitenberger","date":"28. M\u00e4rz 2026","format":false,"excerpt":"So, heute geht es weiter mit Teil 2 \u00fcber Galileos CDS, dieser Beitrag schlie\u00dft nahtlos an den ersten Beitrag von gestern an, wie man schon an der ersten Textzeile sieht. Nach der Einleitung im ersten Teil geht es heute weiter damit warum der RCA 1802 genutzt wurde und was seine\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\/191e4b0728de42829cf656027b84dc82","width":350,"height":200},"classes":[]},{"id":18610,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/03\/27\/galileos-cds-teil-1\/","url_meta":{"origin":3755,"position":2},"title":"Galileos CDS &#8211; Teil 1","author":"Bernd Leitenberger","date":"27. M\u00e4rz 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":[]},{"id":18380,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2025\/09\/03\/die-glorreichen-10-das-war-mal-weg-pc-hardware\/","url_meta":{"origin":3755,"position":3},"title":"Die glorreichen 10 &#8211; Das war mal weg: PC Hardware","author":"Bernd Leitenberger","date":"3. September 2025","format":false,"excerpt":"Ich will heute mal zwei ZDF Info \/ Neo Sendungen verbinden. Die glorreichen 10, die bei mir als Vorlage f\u00fcr einige Blogs dienten und die von mir noch mehr gesch\u00e4tzte Sendung \"Das war mal weg\", wo es um Dinge geht, die fr\u00fcher fast jeder hatte und die heute aus unserem\u2026","rel":"","context":"In &quot;Die Glorreichen 10&quot;","block_context":{"text":"Die Glorreichen 10","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/allgemein\/die-glorreichen-10\/"},"img":{"alt_text":"","src":"https:\/\/vg02.met.vgwort.de\/na\/876c61d389304d98aa0332fadd769381","width":350,"height":200},"classes":[]},{"id":18676,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/05\/31\/die-glorreichen-10-programmiersprachen\/","url_meta":{"origin":3755,"position":4},"title":"Die glorreichen 10 \u2013 Programmiersprachen","author":"Bernd Leitenberger","date":"31. Mai 2026","format":false,"excerpt":"Ich wollte mal eine Reihe in dieser Rubrik \u00fcber Programmiersprachen machen. Zuerst dachte ich daran eine Liste nach meinen pers\u00f6nlichen Favoriten zu erstellen. Anfangs bef\u00fcrchtete ich, dass ich gar nicht auf 10 komme, aber es sind tats\u00e4chlich mehr, wenngleich ich in vielen Sprachen nur kleine Programme verfasst habe oder mich\u2026","rel":"","context":"In &quot;Die Glorreichen 10&quot;","block_context":{"text":"Die Glorreichen 10","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/allgemein\/die-glorreichen-10\/"},"img":{"alt_text":"","src":"https:\/\/vg09.met.vgwort.de\/na\/4073c4f9dc6943a08702cdde13605d43","width":350,"height":200},"classes":[]},{"id":5216,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2011\/08\/10\/fcea2\/","url_meta":{"origin":3755,"position":5},"title":"FCEA2","author":"Bernd Leitenberger","date":"10. August 2011","format":false,"excerpt":"CEA2 (Chemical Equilibrium with Applications) ist ein seit gut 30 Jahren entwickeltes NASA Programm mit dem verschiedenste Probleme bei Gasphasen berechnet werden k\u00f6nnen. Ich beschr\u00e4nke mich auf das, was Raumfahrtliebhaber wohl am meisten machen: Die Berechnung der Performance von Triebwerken bei Raketen. Ich will die Benutzung des Programmes einmal erl\u00e4utern,\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:\/\/vg01.met.vgwort.de\/na\/89efc24160614a1a93d97d19447e81a6","width":350,"height":200},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/posts\/3755","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=3755"}],"version-history":[{"count":0,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/posts\/3755\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/media?parent=3755"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/categories?post=3755"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/tags?post=3755"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}