Moin, kann Jemand bitte in etwa abschätzen ob und wie das klappt den vorhandenen VHDL Code von Sytse van Slooten (PDP2011) mittels einem alten 5V CPLD in einen funktionierenden Peripheriechip zu verwandeln? (http://www.tiffe.de/Robotron/PDP-VAX/emu/kl11.vhd) Der Hintergrund ist eine Bastelei mit einem russischen PDP kompatiblen Mikroprozessor (K1801VM2), ich möchte einen Einplatinencomputer damit bauen und die für die Consolenschnittstelle üblicherweise verwendeten ICs sind aus Unobtanium (DC319). Ich habe gegenwärtig keine blasse Ahnung von VHDL will das aber mal ändern. Was ich nicht will ist das fertige Projekt in einem DE? FPGA Board laufen lassen, das gibts schon und auch originale PDP11 gibt es hier schon. Ich will wirklich was zusammen löten. Es wäre recht einfach eine beliebige UART an den Prozessor zu hängen, die Sache hat allerdings den Haken das üblicherweise PDP11 CPUs direkt Mikrocode enthalten um über eine Terminalschnittstelle Debugging zu ermöglichen (ODT). Das ist zwar bei dem Prozessor den ich verwenden möchte etwas anders, dort liegt der Code als Maschinencode Binary in einem separaten Adreßraum, aber das Layout der Register und die Adressen liegen fest. In welche alten CPLDs paßt der Code etwa? Wie fange ich das am besten an? Gruß, Holm
Holm T. schrieb: > kann Jemand bitte in etwa abschätzen ob und wie das klappt den > vorhandenen VHDL Code von Sytse van Slooten (PDP2011) mittels einem > alten 5V CPLD in einen funktionierenden Peripheriechip zu verwandeln? Habs mal ausprobiert: in keines der 5V Xilinx-CPLDs passt das Design (die Toolchain hat es ausprobiert bis zum XC95288 im BG352 Gehäuse:
1 | ... |
2 | Considering device XC95288-10-BG352. |
3 | Re-checking device resources ... |
4 | ERROR:Cpld:837 - Insufficient number of macrocells. The design needs at least |
5 | 356 but only 288 left after allocating other resources. |
6 | Device 95288352 was disqualified. |
7 | ... |
Es wird in diesem Design einfach zu verschwenderisch mit den Ressourcen (Flipflops) umgegangen... Das hier ist auch sehr suspekt und kurios: have_kl11 : in integer range 0 to 1; have_kl11_force7bit : in integer range 0 to 1; have_kl11_rtscts : in integer range 0 to 1; have_kl11_bps : in integer range 1200 to 230400; Hat der Originalbaustein tatsächlich Integer Eingänge für die Baudrate? Aber auch sonst: dieses Design hat laut Report 88 Eingänge und 29 Ausgänge. Ist das nicht ein wenig zu viel?
:
Bearbeitet durch Moderator
..da ist sicher was faul. Das eigentliche Device hat 16 Bit Daten und gemultiplext Adreßeingänge sowie 4 Register (Sende/Empfangsdaten sowie Status lesen/schreiben) pro Kanal...und 2 Kanäle. Die Baudrate wird IMHO über Jumper eingestellt und mit integer haben die natürlich Nichts zu tun. Ich werde mir mal die Originaldoku zur KL11 reinziehen und ein bisschen forschen, ich kenne im Prinzip nur die Nachfolger, die KL11 sollte eigentlich der kleinste gemeinsame Nenner sein. Wenn 288 Makrozellen nicht reichen ist das was ich vor habe sowieso nahezu unmöglich und derzeit ist für mich VHDL halt noch ein Buch mit 7 Siegeln.. Gruß, Holm Edit: Hier ist noch so ein Ding: http://opencores.org/websvn,filedetails?repname=w11&path=/w11/trunk/rtl/ibus/ibdr_dl11.vhd Wie sieht das damit aus? Wie kann ich das selber ausprobieren (irgend ein Xlilinx Dingens habe ich auf dem Notebook...wenn die Lizenz noch nicht Alle ist). Gruß, Holm
Holm T. schrieb: > Die Baudrate wird IMHO über Jumper eingestellt Wie viele Jumper sind das? Gibt es da nur die "Standardbaudraten" und damit nur 3..4 Eingänge? > mit integer haben die natürlich Nichts zu tun. Dieser have_kl11_bps mit seinem range 1200 to 230400 "verbraucht" immerhin 18 "Eingangsleitungen"... Holm T. schrieb: > Wenn 288 Makrozellen nicht reichen Für die skizzierten Anforderungen dürfte das tatsächlich schon ein wenig sportlich werden. Mit einer passenden externen Taktfrequenz könnte es aber wieder gehen. > Das eigentliche Device hat 16 Bit Daten und gemultiplext Adreßeingänge > sowie 4 Register (Sende/Empfangsdaten sowie Status lesen/schreiben) pro > Kanal...und 2 Kanäle. Das sind gerade mal 4x8 Bit, wobei offenbar das RX und das TX Register nochtmal gepuffert sind. Also ergo 48 Flipflops. Dazu noch ein paar interne Flags und ein paar kleine FSM. Das wären dann z.B. 80 Flipflops pro Kanal. Der Bus braucht auch nochmal 30 Makrozellen. Fazit: das müsst eigentlich bei durchdachter Beschreibung schon gehen... Immerhin bekomme ich eine komplette RS232 IO in ein 36er CPLD: http://www.lothar-miller.de/s9y/archives/60-RS232-IO.html Aber der verlinkte Code sieht sowieso ein wenig, naja, "laienhaft" aus, denn die Sensitivlisten sind allesamt falsch: sie enthalten zu viele Signale. :-o Das ist für mich ein ernstes Warnzeichen... > Wie kann ich das selber ausprobieren Neues Projekt --> neues VHDL-Modul --> dort hinein den Quellcode kopieren --> Settings bei Device-Option auf XC9500 Serie und Device auf "Auto" Holm T. schrieb: > Edit: Hier ist noch so ein Ding: > Wie sieht das damit aus? Da ist mehr Arbeit nötig, weil selbstdefinierte Typen verwendet werden slbit, slv2, slv8 usw...
:
Bearbeitet durch Moderator
Mit russischen IC kenn ich mich nicht aus aber ich habe hier ein M8047 IO-Modul und da ist für die Console ein Intersil 64S004B in DIL40 verbaut. ps. Das komplette Multi Modul hat insgesammt nur 50 Pin.
:
Bearbeitet durch User
Lothar M. schrieb: > Holm T. schrieb: >> Die Baudrate wird IMHO über Jumper eingestellt > Wie viele Jumper sind das? > Gibt es da nur die "Standardbaudraten" und damit nur 3..4 Eingänge? > >> mit integer haben die natürlich Nichts zu tun. > Dieser have_kl11_bps mit seinem range 1200 to 230400 "verbraucht" > immerhin 18 "Eingangsleitungen"... ..das gibts im Original gar nicht. ..es gibt da auch keine Jumper, sondern einen freilaufenden RC Oszillator der einen Haufen Gemüse taktet: http://bitsavers.informatik.uni-stuttgart.de/pdf/dec/unibus/KL11_EngrDrws.pdf. Die KL11 ist wohl der kleinste gemeinsame Nenner dieser Serial Line Unit Familie (SLU) .. ich kenne wirklich sonst moderneres Zeug und das Unibus Interface muß ich auch nicht haben.. Wenn der Chip am Ende einen RX+TX Clock Eingang hat der mit einem festen Multiplier zur Baudrate läuft wäre ich schon happy. Vom Prozessor programmierbare Baudraten gibts IMHO bei der PDP11 gar nicht, jedenfalls nicht beiden "dummen" SLUs, bei Multiplexern ist das anders, aber da will ich nicht hin. > > Holm T. schrieb: >> Wenn 288 Makrozellen nicht reichen > Für die skizzierten Anforderungen dürfte das tatsächlich schon ein wenig > sportlich werden. Mit einer passenden externen Taktfrequenz könnte es > aber wieder gehen. In wie fern passend? ..nicht zu viele Teiler? Soll mir recht sein, mache ich extern. >> Das eigentliche Device hat 16 Bit Daten und gemultiplext Adreßeingänge >> sowie 4 Register (Sende/Empfangsdaten sowie Status lesen/schreiben) pro >> Kanal...und 2 Kanäle. > Das sind gerade mal 4x8 Bit, wobei offenbar das RX und das TX Register > nochtmal gepuffert sind. Also ergo 48 Flipflops. Dazu noch ein paar > interne Flags und ein paar kleine FSM. Das wären dann z.B. 80 Flipflops > pro Kanal. Der Bus braucht auch nochmal 30 Makrozellen. Fazit: das müsst > eigentlich bei durchdachter Beschreibung schon gehen... > Immerhin bekomme ich eine komplette RS232 IO in ein 36er CPLD: > http://www.lothar-miller.de/s9y/archives/60-RS232-IO.html > ..eventuell ist es ja der bessere Ansatz Deine RS232 zu nehmen und das Businterface entsprechend anzupassen? Ich kann Dir momentan noch gar nicht sagen was ich im Detail möchte, Wünsche gibts da schon. Eine SLU kann z.B. einen Interrupt auslösen und die externe Logik sollte dann einen Vektor liefern können, der aber von externem TTL Gemüse verwaltet wird (Jumper+ spezielle Businterface ICs, Dec Chipkit). Wenn also ein extern vorwählbarer Vektor abhängig von einem IO Signal in der Interruptbehandlung zusätzlich geliefert werden könnte..wäre das nett..muß aber nicht wirklich da mit rein, die ChipKit ICs werden mittlerweile auch mit Gold aufgewogen.. > Aber der verlinkte Code sieht sowieso ein wenig, naja, "laienhaft" aus, > denn die Sensitivlisten sind allesamt falsch: sie enthalten zu viele > Signale. :-o > Das ist für mich ein ernstes Warnzeichen... Ich-->Schwein-->Uhrwerk. > >> Wie kann ich das selber ausprobieren > Neues Projekt --> neues VHDL-Modul --> dort hinein den Quellcode > kopieren --> Settings bei Device-Option auf XC9500 Serie und Device auf > "Auto" > Ich werds ausprobieren. > Holm T. schrieb: >> Edit: Hier ist noch so ein Ding: >> Wie sieht das damit aus? > Da ist mehr Arbeit nötig, weil selbstdefinierte Typen verwendet werden > slbit, slv2, slv8 usw... Hmm. Du tendierst also zur Verbesserung der ersten Variante? Oder soll ich besser Dein Zeug verwenden? ...erst mal ne Plattform bauen...Quartus ...oder ISPLever..oder Xilinx ISE Ich habe aus jedem Dorf ein paar alte Bauern herumliegen.. Gruß, Holm
Holm T. schrieb: > Oder soll ich besser Dein Zeug verwenden? Sagen wir mal so: wenn ich nur eine serielle Schnitte bräuchte, dann würde ich an eine meiner SIO an einen gemultiplexten Bus koppeln. Und die Sache mit dem Hardware-Handshake und dem Interrupt bei Gelegenheit oder Not dazubasteln... Als Basis für dieses Interface wäre vermutlich das hier geeigneter: http://www.lothar-miller.de/s9y/categories/42-RS232
Lothar M. schrieb: > Holm T. schrieb: >> Oder soll ich besser Dein Zeug verwenden? > Sagen wir mal so: wenn ich nur eine serielle Schnitte bräuchte, dann > würde ich an eine meiner SIO an einen gemultiplexten Bus koppeln. > > Und die Sache mit dem Hardware-Handshake und dem Interrupt bei > Gelegenheit oder Not dazubasteln... Ok, ich werde einen Teufel tun und ausgerechnet Deine Ratschläge mißachten :-) Hardware Handshake ist vorläufig nicht notwendig denke ich, ein großer Teil dieser Maschinen arbeitete mit über Stromschleife angeschlossenen Terminals. Interrruptfähigkeit ist wichtiger, aber auch nicht notwendig für ein Hello World..also einen laufenden ODT Prompt. > > Als Basis für dieses Interface wäre vermutlich das hier geeigneter: > http://www.lothar-miller.de/s9y/categories/42-RS232 Gut, ich mache jetzt erst einmal meine Hausaufgaben und werde konkret, d.h. ich suche die notwendige Registerbelegung raus. Ich melde mich dann wieder. Danke einstweilen, Holm
Ein DC319 wäre zwar ideal, denn der implementiert ein DLV11 in einem chip, aber die sind sehr schwer zu finden. Nicht einmal digital hat sie standardmässig auf allen DLV eingesetzt. Ich stand vor dem gleichen Problem als ich meinem DCJ11 (J-11) vor 2 Jahren leben einhauchen wollte und bin dabei auf folgende Seite gestossen http://www.cs.ubc.ca/~hilpert/e/pdp11hack/index.html und habe mehr oder weniger das gemacht, ausser dass ich statt dem TTL Hühnerfutter ein GAL genommen habe. Ganzen unten auf der Seite gibt es noch Infos zu meiner ersten Version. Für ODT reicht das. Der zentrale Baustein für den UART ist ein CDP6402 der auch oft auf DLV11 von digital und Dritthersteller zu finden ist. Den CDP6402 findet man auch öfters noch angeboten. Im Moment plane ich den Ausbau von meinem Projekt und möchte den J-11 via CPDL (ATF1504AS) mit dem CDP6402 verbinden und so die fehlende Interrupt Logik nachbauen. Sollte kein Problem sein. Es gibt übrigens DVL11 mit programmierbarer Baud-Rate DLV11-E und -F können über Bit12:15 im XCSR (Transmitter Control und Status Register) die Baud-Rate setzen. Es muss also nicht immer ein serieller Multiplexer sein. http://bitsavers.informatik.uni-stuttgart.de/pdf/dec/qbus/EK-DLV11-OP-001_DLV11-E_and_DLV11-F_Asynchronous_Line_Interface_Users_Manual_Jun77.pdf Gruss Peter
ja, ich kenne die PDP11hack - Seite und auch den 6402. Ich habe davon Vorgängerversionen (?) von Tesla noch rumliegen, ich glaube die brauchen noch -9V ..oder so. Kompatibel ist wohl auch der AY3-1015 (?14). Die programmierbare Baudrate halte ich vorerst für nebensächlich, wenn das Ding mit 9600 tüdelt isses doch schon schick... Ich finde es spannend das sich noch jemand dafür interessiert. Gruß, Holm
Viele ältere Versionen brauchen noch -12V oder -9V, der AY3-1013 braucht noch eine negative Spannung. Der AY3-1015 braucht keine. Ich habe mir dazumal den CDP6402 zugelegt weil er erstens nur 5V braucht und zweitens schafft er auch 115200baud. Eine programmierbare baud-rate ist tatsächlich nebensächlich, ich wollte nur bemerken, dass es das sehr wohl gab. Im Moment habe ich das Projekt gerade wieder aufgegriffen. Bin gerade daran die GLUE Logik in ein CPLD zu packen. Vor einem Jahr hatte ich schon mal Byteweises Schreiben in den Speicher hinzugefügt aber jetzt will ich noch BUS Timeout, Interrupt ACK, DV Signal und DMA support für ein einziges IO Gerät hinzufügen. Mit GALs und TTLs Bausteinen wird das alles viel zu unübersichtlich, ein kleines CPLD ist da super. Gruss Peter
Wäre nett wenn Du mich (oder uns hier) damit auf dem Laufenden hältst. Wenn es die Zeit zuläßt würde ich da gerne mit machen. Ein DCJ11 einzeln kullert hier auch noch rum, aber ich wollte das eigentlich mit den russischen Prozessoren ausprobieren wobei der eigentlich kompliziertere VM3 den Vorteil eines ODT im Microcode hat, der VM2 hat den in einem extra Speicherbereich als Maschinencode extern. Gruß, Holm
Also hier mal der erste Entwurf des CPLDs. Zuerst aber ein paar Worte zur Wahl des CPLDs und der Tools. Ich habe erst vor kurzem mit CPLD Design begonnen. Die Hauptanforderung für mich waren 5V Unterstützung und sie sollten Designs mit drei bis fünf GALs ersetzen. Und da gibt es eben nicht mehr sehr viele, meines Wissens produziert nur noch Atmel (oder sollte ich schon Microchip sagen) 5V CPLDs. Damit war auch schnell klar dass ich als Toolchain WinCUPL nehmen musste, die anderen kosten leider viel zu viel für das was ich sie brauche. Für die GLUE Logik eines J-11 scheint aber schon ein ATF1504 zu genügen. Ein Schema dazu ist am entstehen. Gruss Peter
Danke. Ich habe mir jetzt mal ein paar ATF1504 bestellt (so ziemlich alle anderen Hersteller hab ich in der Bastelkiste). Mal sehen ob ich das nachvollziehen und mitspielen kann :-) Gruß, Holm
Hallo Holm, für die ATF1504 brauchst du dann auch ein entsprechendes Programmierkabel, am besten eines mit USB, das ATDH1150USB. Damit kann man die ATF15xx via WinISP von Atmel via ISP programmieren. Wichtig ist, dass man im Design File auch die ISP Variante angibt sonst benutzt WinCUPL die IPS Pins u.U. als IO pins, aber danach kann man die ATF15xx nur noch mit einem sehr proprietären Protokoll programmieren. Atmel gibt sich da sehr bedeckt. Im Moment bin ich auch daran den Code für ein weiteres CPLD zu entwickeln damit aus dem CDP6402 (oder irgendeinem anderen funktionsgleichen Chip den du hast) so etwas wird, dass es vom J-11 als DLV11 benutzt wird mit Interrupt und und allem. Für den Testaufbau auf dem Breadboard. Man kann ja den J-11 auch "nur" mit 8-10MHz betreiben, wobei der erste Testaufbau auch mit 18MHz stabil lief. Vorausgesetzt das RAM hat eine Access Time von 70ns oder weniger. Ich werde für den nächsten Test AS6C4008-55 nehmen, die gibt es als DIP-32 Version, liegen bei mir herum und sind mit 55ns schnell genug. Für den Aufbau im Breadboard verwende ich Adapter für die ATF1504 in TQFP-44 (siehe Bild) Gruss Peter
Hmm ..$60 plus Steuer. Gibts für die JTAG Kabel auch wie bei den Anderen eine Parallelport-Version? Rams sollte ich da haben und die ATF1504 habe ich mir als PLCC bestellt. Schicke mir mal bitte Deine Adresse, ich möchte Dir gerne einen IC schenken... Gruß, Holm
Holm T. schrieb: > Parallelport-Version? Siehe den alten Beitrag "ATF15xx Programmer"
:
Bearbeitet durch Moderator
Hallo Holm, ja da sieht man's. Ich habe einen Mac und dort sind die Aussichten auf einen Parallelport düster bis dunkelschwarz. Daher habe ich überall die USB Versionen im Einsatz. Natürlich wenn man einen Windows PC mit Parallelport hat dann erweitert sich das Angebot stark. AtmIPS (die ISP download software von Atmel) unterstützt die Parallelportkabel ByteBlaster, ByteBlaster II und ByteBlaster MV. Das kann man auch selbst bauen, ein 74LS244 reicht ja. Danke für das Angebot. Ich habe selbst eine ganze Schachtel ATF1504 und ich arbeite lieber mit TQFP-44, da spart man dann auf der Platine richtig Platz und mit meinem Adapter ist das auch auf dem Steckbrett sehr platzsparend. TQFP-44 löten geht auch ohne Vorkenntnis, bei mir hat das auf Anhieb geklappt. 0.8mm Pinabstand ist locker handhabbar, auch wenn ich dazu eine Lupebrille tragen muss. Wichtig ist gutes Licht und viel Flussmittel. Und dann geht das auch mit einer 2.4mm Meisselspitze. Ich habe mir gerade ein zweites Steckbrett zusammengestellt um die Version mit den CPLD aufzubauen. Wobei diese Woche wird das nichts mehr und danach geh ich 2 Wochen in die Ferien. Wird wohl eher März bis ich dazu komme. Gruss Peter
Peter ich wollte Dir KEINEN CPLD schicken, sondern eine CPU. ..aber die CPLDs sind heute angekommen 5 Stück PLCC. Ich habe keine Probleme damit SMD zu löten, aber ich habe noch 44er Fassungen und Lochraster zum spielen :-) Mein PC hier läuft unter FreeBSD, da nützt mir werde der USB noch der Parallelportadapter was, aber dafür habe ich ein paar olle Notenbücher. ...danke Lothar. Gruß, Holm
Ja das habe wohl missverstanden. Ich komme gerne auf dein Angebot zurück wenn mein Prototyp mal äuft. Im Moment warten bei mir drei J-11 auf eine Aufgabe und als erstes will ich mal ein Proof of Concept mit den vorgesehenen ATF1504 machen. Also ein vollständiges Memory Interface und eine DLV kompatible Console. Neulich bin ich auf diese Webseite gestossen http://www.chdickman.com/qbus_ide/ Das wäre vielleicht die Lösung für den Massenspeicher, da ich ja keinen richtigen Q-Bus implementiere ist es vor allem der IDE Driver, weil das ganze ist ja nichts anderes als ein durchreichen des ATA Register Files zum Q-Bus und da das Daten Interface von IDE auch 16-bit muss ich nur einen Teil seiner Logik umsetzen. Wenn man dann anstelle einer IDE Disk eine CF Card nimmt und noch eine LTC baut könnte man damit vielleicht eine PDP-11 mit minimalen Abmessungen und Stromverbrauch bauen (der J-11 wird bei 15MHz nur Handwarm). Die CPLD dürften dann die grössten Stromfresser sein. Genau wegen den Lochrasterplatinen und den Steckbrettern habe ich ein paar ATF1504 im TQFP-44 auf diese Adpaterplatinen gelötet. Das braucht weniger Platz als die üblichen Adapter, ausser evtl. diese hier, http://www.technologicalarts.ca/shop/store/category/55/adapters/plcc.html die sind was den Platzbedarf auf Steckbrettern anbelangt für die Anzahl der herausgeführten Pins natürlich unschlagbar. Wie machst du das jetzt mit der Programmierung der CPLD? Ich benutze eine virtuelle Maschine mit Windows XP auf dem Mac. Einen ISP Programmer für ATF1504 der unter Linux funktioniert ist mir noch nicht begegnet. Ich denke auch unter Linux dürfte die virtuelle Maschine das einfachste sein und dann empfiehlt sich wieder der USB Adapter, denn USB ports kann man in VMs meist durchreichen. Gruss Peter
Ja, die QBUS-IDE Geschichte kenne ich, Erfindung von den Russen :-) von da gibts auch die Treiber. Ich möchte einen Bastelrechner auf Lochraster Universalplatinen in VME Größe bauen, ich habe auch noch 2 Crates da in die ich den jeweiligen Rechner einpserren könnte. Steckbretter sind nicht so mein Ding. Nicht das ich Keine hätte oder die nicht benutzen würde, aber viel mehr als mal eine Testschaltung mit einem Atmel da drauf zu stecken mache ich mit den Dingern nicht. Außerdem kommt der Kram da immer irgendwie nie mehr runter. Habe da noch ein GBS disciplined TXCO und solches Zeuch ... J11 habe ich nur Einen herumliegen, die restlichen 2-3 befinden sih in angestammter Umgebung und funktionieren da auch. Ich wollte Dir aber auch keinen J11 schicken, sondern einen K1801VM2 oder K1801VM3. Für die CPLD Pogrammiererei habe ich alte Notebooks mit Parallelschnittstelle. Ich sehe nicht ein $60 für ein USB Dingens auszugeben wenn das Parallelport-Equivalent nur einen LS244 beinhaltet..und wenn Mickesoft mir sagt XP ist böse, dann sag ich ..wenn ihr meint...und lasse sie. Die können mich mal am Puller schmatzen. :-) Ich habe alte Epromer und Gal Brenner die auch alte Schnittstellen benutzen, also muß ich auch da alte Hardware vorhalten. Ich habe schon ein Xilinks und ein Altera Parallelport-Teil, mal gucken ob und wie sich das wirklich zu Atmel unterscheidet. Ich habe auch kein Linux auf dem Rechner sondern FreeBSD, u.A. auch ein XP in einer VM aber ich mache mir nicht die Mühe da drum zu kämpfen die Druckerschnittstelle zeitrichtig durchreichen zu wollen.. Mach Dir keine Gedanken, mit Rechnern komme ich klar. Gruß, Holm
Hallo Holm, ja ich dachte mir schon dass du einen K1801VM2/3 meinst, vor allem mit dem aus Russland inspirierten IDE Adapter wäre was eine schöne Kombination. Das Steckbrett ist auch nur vorübergehend. Dass die Schaltungen dort bleiben ist bei mir eher nicht. Dort geschieht nur das Proof of Concept. Das liegt daran, dass mir während der Entwicklung immer wieder neue "Vereinfachungen" einfallen und die dann jedesmal löten zu müssen überleben die Lötpads von Lochrasterplatinen nicht immer. Das Ziel bei mir ist ein Funktionsfähiger PDP-11 und mindestens Unix oder RT-11 muss darauf laufen. Einen RSX-11M+ Driver für den IDE Adapter zu schreiben dürfte mehr Aufwand sein. Wenn ich Zeit habe klemme ich mich dahinter, schliesslich habe ich vor 30 Jahren selbst Hardwaretreiber für RSX-11M/M+ entwickelt. Ich dachte mir fast, dass du noch einen alten Windows/XP PC hast. Ja dann ist definitiv die Lösung mit dem 74LS244 die günstigeste, die Atmel Software ist ja eh nur auf alten Windows Versionen funktionsfähig, auch ich habe in der VM nur XP. Wenn das Altera Parallekabel ein Byteblaster ist dann musst du gar nicht weiter suchen/basteln. Die Atmel ISP download software unterstützt ganz offiziel Byteblaster, Byteblaster II und Byteblaster MV Parallelkabel von Altera. Gruss Peter
Ich habe auch ein paar H1806VM2, also die CMPS Version des K1801VM2 im kleineren Gehäuse: http://www.tiffe.de/images/K1801-1.jpg ..ja ich denke das ist ein Byteblaster Nachbau was ich da rumliegen habe, ich muß das mal vorkramen... 2.11 BSD habe ich auf der 11/83 laufen, RT11 5.7 und irgend ein RSX11 auch. Gruß, Holm
Hallo Holm, Interrupts haben so ihre Tücken, vor alle sollte man den Stack Pointer auf einen gültigen Wert setzen wenn man mit Interrupts arbeitet. Aber das "DLV-11" aus ATF1504AS und CDP6402 macht Fortschritte. Man könnte sicher auch ein grösseres CPLD nehmen und den UART gleich integrieren, aber zum Testen ist ein funktionierender UART weniger fehleranfällig. Folgendes Progrämmchen produziert für 030 (dezimal 24) Zeichen ein Echo auf der Console und dann ist wie vorgesehen Schluss
1 | RCSR = 177560 |
2 | RBUF = 177562 |
3 | XCSR = 177564 |
4 | XBUF = 177566 |
5 | .asect |
6 | .=60 |
7 | .word rxirq |
8 | .word 340 |
9 | .word rxirq |
10 | .word 340 |
11 | |
12 | rxirq: mov @#RBUF, @#XBUF |
13 | inc @#rcount |
14 | rti |
15 | txirq: inc @#tcount |
16 | rti |
17 | .=660 |
18 | .word 0,0,0,0,0,0,0,0 |
19 | stack: |
20 | .=1000 |
21 | |
22 | start: |
23 | mov #stack, sp |
24 | clr @#tcount |
25 | clr @#rcount |
26 | bis #100, @#RCSR |
27 | 10$: mov @#rcount, r0 |
28 | cmp r0, #30 |
29 | blt 10$ |
30 | halt |
31 | halt |
32 | |
33 | rcount: .word 0 |
34 | tcount: .word 0 |
D.h. das CPLD generiert einen receive character interrupt und antwortet beim IACK mit der richtigen (060) Vector Adresse. Jetzt muss ich noch den transmit interrupt einbauen und testen, dann poste ich mal das Projektfile des CPLD. Gruss Peter
Hallo Peter, ich bin gespannt. Das wäre dann wirklich mal ein Grund die Baustellen hervor zu kramen :-) Gruß, Holm
Hallo Holm, ich glaube du musst die Baustelle hervorkramen. Der TX Interrupt läuft jetzt auch. Der code (label txtest) im folgenden Code spuckt ein "Hello World" im Interrupt Handler aus.
1 | RCSR = 177560 |
2 | RBUF = 177562 |
3 | XCSR = 177564 |
4 | XBUF = 177566 |
5 | .asect |
6 | .=60 |
7 | .word rxirq |
8 | .word 340 |
9 | .word txirq |
10 | .word 340 |
11 | |
12 | rxirq: mov @#RBUF, @#XBUF |
13 | inc @#rcount |
14 | rti |
15 | nop |
16 | nop |
17 | |
18 | txirq: inc r4 |
19 | movb (r1)+, r0 |
20 | bne txcont |
21 | bic #100, @#XCSR |
22 | rti |
23 | |
24 | txcont: |
25 | mov r0, @#XBUF |
26 | rti |
27 | |
28 | .=660 |
29 | .word 0,0,0,0,0,0,0,0 |
30 | stack: |
31 | .=1000 |
32 | |
33 | start: |
34 | |
35 | mov #stack, sp |
36 | clr @#tcount |
37 | clr @#rcount |
38 | clr r4 |
39 | br txtest |
40 | |
41 | rxtest: |
42 | bis #100, @#RCSR |
43 | 20$: mov @#rcount, r0 |
44 | cmp r0, #30 |
45 | blt 20$ |
46 | bic #100, @#RCSR |
47 | halt |
48 | halt |
49 | |
50 | txtest: |
51 | mov #text, r1 |
52 | bis #100, @#XCSR |
53 | 10$: bit #100, @#XCSR |
54 | bne 10$ |
55 | halt |
56 | halt |
57 | |
58 | rcount: .word 0 |
59 | tcount: .word 0 |
60 | text: .byte 012,015 |
61 | .asciz /Hello World/ |
62 | .word 0 |
Der Aufbau ist im Moment auf einem Breadboard. Der Micro Cycle Decoder ist extrem einfach gehalten und in einem GAL22V10 implementiert und stammt noch von einem Vorgängerprojekt aber tut hier seinen Zweck. Ich hänge mal die WinCUPL Design Files des GAL und des CPLD als auch ein Schema hier an. Vielleicht ein paar Anmerkungen Das Projekt implementiert ein eigenes Bus Protokol, Q-BUS ist sicher machbar aber dann reichen die PINs des ATF1504AS nicht mehr aus. Man könnte natürlich Bits 12..15 des RCSR in ein externes Bauteil auslagern (74HCT257) dann dürfte es wieder reichen. Das Memory wird direct vom Micro Cycle Decoder angesprochen (/MREQ) und es findet keine Überprüfung auf non-existant RAM statt, das RAM ist also gespiegelt. Der IO Bus wird über ALE, /IORD, /IOWR und /IACK gesteuert, das ist dann wieder ähnlich dem Q-BUS, aber es fehlen /RPLY, /WTBT und ein bus timeout, auch ist der IO Bereich nicht byteweise schreibbar (ich wüsste kein Device das das braucht). Der 74HCT541 ist nötig für das Boot Register, sonst ist es nur Zufall wenn der J-11 sauber initialisert. Steht auch im DCJ11 Manual und dort hat es auch ein Beispiel, natürlich mit weniger modernen Bauteilen, wie man das machen sollte. Als nächstes nehme ich das CPU CPLD in Angriff aber für die geplanten Funktionen DMA, Bus-Timeout, asynchroner IO Bus reicht ein ATF1504AS definitiv nicht, da werde ich also auf ein ATF1508AS umsteigen müssen. Und zum Schluss habe ich noch eine Idee für das Projekt. Anstelle weitere CDP6402 und ATF1504AS für weitere serielle Schnittstellen zu nehmen habe ich mir überlegt ein "VT-100" am IO Bus zu bauen. Dazu verwende ich fast das gleiche CPLD wie für die Console aber anstelle des CDP6402 nehme ich ein 74HCT652 als bidirektionaler Buffer und hänge daran einen ATmega328P der ein VT-100 Terminal emuliert mit VGA output und PS/2 input. Ich habe in meinem Fundus ein altes Projekt mit einem ATmega328 und einem 74HC166, das ungefähr so etwas wie ein VT-100 emuliert. Zwar nur den Output (kein PS/2) aber da ich keine serielle Schnittstelle sondern den 74HCT652 als Eingang verwende wird der UART wieder frei und daran kann ich dann die PS/2 Tastatur anhängen und via 74HCT652 den ASCII Code an den PDP-11 senden. Für den DCJ11 ist sieht es wie ein DLV-11 aus. Gruss Peter
Hmm... Peter hast Du mal einen etwas umfangreicheren Schaltplan von dem was Du gebastelt hast? Ich müßte wahrscheinlich neu bauen, da sich meine Experimente bisher nicht mit dem J11 sondern mit dem K1802VM2 beschäftigt haben. Was ich nicht so recht nachvollziehen kann ist Deine VT100 Idee..das sorgt doch nur dafür das der Platz auf dem Tisch noch weniger wird. Mir ist im Prinzip eine V.24 Console sehr recht, weil ich ein VT100 sehr gut mit dem PC emulieren kann..wenn ich unbedingt will kann ich auch noch ein richtiges Terminal hervor kramen. Ich habe Nichts gegen den Ansatz mit intelligenter Peripherie aber der Atmega328 kann doch auch eine V.24 emulieren statt Bildschirm und Tastatur mit ein zu beziehen. Ein Kleines LCD mit einer Tastatur dran als VT100 ist doch eher ein eigenes Projektchen.. verstehe ich nicht.. Gruß, Holm
Ups das war ein bisschen spartanisch. Da fehlten ein paar Verbindungen. Die habe ich nachgeführt. Auch den Baud Clock Generator. Ich habe einen ATtiny45 genommen, der lag rum und habe den so programmiert dass der den Systemtakt entsprechend teilt. Je nach Quarz und Baud-Rate muss man einfach den Timer0 programmieren und den Ausgang OC0A toggeln lassen. Auf dem Schaltplan fehlen jetzt nur die Abblockkondensatoren, Die Power LED und das TIL311 das ich beim ersten PDP-11 Hack zum debuggen brauchte um anzuzeigen welchen Microcycle (AIO0..3) der J-11 gerade durchführt. Aber jetzt für diese Projekt habe ich es nicht gebraucht, aber entfernen wollte ich ihn auch nicht. Ja und alles läuft auf dem Steckbrett. Wie der K1802VM2 funktioniert weiss ich dafür nicht und ich habe auch keine Datenblätter von dem Teil. Gibt es die überhaupt auf englisch oder deutsch? Aber ich vermute stark, die haben sicher viele Gemeinsamkeiten mit dem DCJ11. Gerade wegen dem Platz fand ich das eine gute Idee mit dem VT-100. Fast alle meine Microcomputer haben VGA Ausgang und PS/2 Eingang. Klar haben sie auch eine serielle Schnittstelle aber ich finde es praktisch wenn ich meine Computer auch ohne PC oder Mac benutzen kann. Etwa wenn meine Frau den Mac beansprucht. Ein 15" LCD Bildschirm und eine PS/2 Tastatur nehmen nicht so viel Platz in Anspruch. Es war auch nur eine Idee und nur als add-on, die Console ist eine echte serielle Schnittstelle, den Teil lasse ich wie auf dem Versuchsaufbau. Wie du sagst, wenn man intelligente Peripherie zulässt dann könnte der ATmega natürlich auch andere Schnittstellen abbilden, etwa eine V.24, dann würde ich aber gleich einen ATmega mit 2 USARTs nehmen, dann kann er auch gleich zwei serielle Interfaces abbilden. Noch etwas zum IACK signal, so wie es im Moment vom GAL erzeugt wird funktioniert eine Daisy Chain nicht IACK muss nach IORD aktiv werden und nicht noch schon vorher wie jetzt. Das werde ich aber im CPLD berücksichtigen welches das GAL ersetzen soll. Falls noch etwas unklar ist gib mir Bescheid. Gruss Peter
Peter S. schrieb: > Ups das war ein bisschen spartanisch. Da fehlten ein paar Verbindungen. > Die habe ich nachgeführt. Auch den Baud Clock Generator. Ich habe einen > ATtiny45 genommen, der lag rum und habe den so programmiert dass der den > Systemtakt entsprechend teilt. Je nach Quarz und Baud-Rate muss man > einfach den Timer0 programmieren und den Ausgang OC0A toggeln lassen. ..schon klar, mit Sowas habe ich keine Probleme.. > Auf dem Schaltplan fehlen jetzt nur die Abblockkondensatoren, Die Power > LED und das TIL311 das ich beim ersten PDP-11 Hack zum debuggen brauchte > um anzuzeigen welchen Microcycle (AIO0..3) der J-11 gerade durchführt. > Aber jetzt für diese Projekt habe ich es nicht gebraucht, aber entfernen > wollte ich ihn auch nicht. Ja und alles läuft auf dem Steckbrett. ..auch an einer TIL311 oder HP50xxxirgendwas (das Selbe im Keramik) sollte es nicht scheitern :-) > > Wie der K1802VM2 funktioniert weiss ich dafür nicht und ich habe auch > keine Datenblätter von dem Teil. Gibt es die überhaupt auf englisch oder > deutsch? Aber ich vermute stark, die haben sicher viele Gemeinsamkeiten > mit dem DCJ11. Englische Dokumentation ist mir nicht bekannt, ich habe aber davon schon etliches durch einen Online-Translator geleiert und es ist prinzipiell klar was das Ding macht. Er hat keinen internen ODT aber einen SEL Ausgang mit dem ein Zugriff auf einen externen Speicherbereich gesteuert wird (also so nicht im PDP-11 Adreßraum liegend) in dem sich ein Firmware-ROM befindet der den Monitor-code enthält. Das Image und ein kommentiertes Reassembler Listing für diesen ROM gibt es. Außerdem sind in diesem Adreßbereich ein paar Arbeitszellen im RAM notwendig. Nach dem Einschalten liest die CPU von einem "Adreßfreien Register" die Bootkonfiguration, auch auf welcher Adresse der Einsprung in diesen Monitor liegt.. Der Rest sollte so ziemlich kompatibel sein. Der VM2 ist recht schnell und arbeitet mit 10Mhz Takt (extern 20Mhz). > > Gerade wegen dem Platz fand ich das eine gute Idee mit dem VT-100. Fast > alle meine Microcomputer haben VGA Ausgang und PS/2 Eingang. Klar haben > sie auch eine serielle Schnittstelle aber ich finde es praktisch wenn > ich meine Computer auch ohne PC oder Mac benutzen kann. Etwa wenn meine > Frau den Mac beansprucht. Ein 15" LCD Bildschirm und eine PS/2 Tastatur > nehmen nicht so viel Platz in Anspruch. Das ist der Punkt. Da stelle ich doch glatt ein 15" LCD und eine Tastatur daneben, dürfen die auch im Gehäuse eines ollen Laptops sein? Macht es was wenn das industriell produziert wurde? Ich verstehe Dich an dieser Stelle nicht.. Ich habe da noch olle 486er Schlapptops rumliegen die das besser können als jeder Eigenbau und da kann man im Notfall eine Ersatz11 oder einen SIMH drauf laufen lassen oder PDP11GUI.. Wozu das also selber basteln? > Es war auch nur eine Idee und > nur als add-on, die Console ist eine echte serielle Schnittstelle, den > Teil lasse ich wie auf dem Versuchsaufbau. > > Wie du sagst, wenn man intelligente Peripherie zulässt dann könnte der > ATmega natürlich auch andere Schnittstellen abbilden, etwa eine V.24, > dann würde ich aber gleich einen ATmega mit 2 USARTs nehmen, dann kann > er auch gleich zwei serielle Interfaces abbilden. Auch bei richtigen PDP11s war das ja durchaus üblich, eine DELQA hat einen M68k als "Controller", auch TK50 und dieses ganze Zeuch hat locale CPUs. Spannend wird es dann bei Controllern deren lokale Intelligenz aus Bitscheiben besteht :-) Allerdings macht es mich immer ein Bisschen traurig wenn halt z.B. an einen Z180 unbedingt ein Atmel angespaxt werden muß um den Z180 zu booten..das ist irgendwie Quatsch. > > Noch etwas zum IACK signal, so wie es im Moment vom GAL erzeugt wird > funktioniert eine Daisy Chain nicht IACK muss nach IORD aktiv werden und > nicht noch schon vorher wie jetzt. Das werde ich aber im CPLD > berücksichtigen welches das GAL ersetzen soll. > > Falls noch etwas unklar ist gib mir Bescheid. > > Gruss > > Peter Mach ich, aber vermutlich bin ich nicht so wahnsinnig schnell.. Willst du mir nun mal Deine Adresse mailen damit ich Dir einen VM2 in die Post stecken kann? Gruß, Holm
Holm T. schrieb: > Englische Dokumentation ist mir nicht bekannt, ich habe aber davon schon > etliches durch einen Online-Translator geleiert und es ist prinzipiell > klar was das Ding macht. > Er hat keinen internen ODT aber einen SEL Ausgang mit dem ein Zugriff > auf einen externen Speicherbereich gesteuert wird (also so nicht im > PDP-11 Adreßraum liegend) in dem sich ein Firmware-ROM befindet der den > Monitor-code enthält. Das Image und ein kommentiertes Reassembler > Listing für diesen ROM gibt es. Außerdem sind in diesem Adreßbereich ein > paar Arbeitszellen im RAM notwendig. > Nach dem Einschalten liest die CPU von einem "Adreßfreien Register" die > Bootkonfiguration, auch auf welcher Adresse der Einsprung in diesen > Monitor liegt.. Der Rest sollte so ziemlich kompatibel sein. Der VM2 ist > recht schnell und arbeitet mit 10Mhz Takt (extern 20Mhz). > Ja das addressfreie Register hat auch der DCJ11, das Boot Register wird via GPREAD Zyklen gelesen, das ist bei mir der 74HCT541. Das mit SEL interessiert mich, d.h. er kennt intern dass er im ODT ist aber das Program dazu muss man liefern? Zur Geschwindigkeit, wieviele Taktzyklen benötigt der VM2 pro Memory Read? Der DCJ11 braucht 4 Taktzyklen pro Cache Read, wenn wie bei mir das ganze RAM so schnell ist wie er es vom Cache erwartet, dann ist jeder Memory read exakt 4 Zyklen, bei 16MHz (aktuell bei mir, aber er funktioniert auch mit 18MHz) läuft das Ding recht flott. > Ich verstehe Dich an dieser Stelle nicht.. Ich habe da noch olle 486er > Schlapptops rumliegen die das besser können als jeder Eigenbau und da > kann man im Notfall eine Ersatz11 oder einen SIMH drauf laufen lassen > oder PDP11GUI.. > Wozu das also selber basteln? > Basteln vor alle daher, bei mir liegen keine alten Laptops herum, ich habe zwei MAC. Und wie gesagt, die Console bleibt bei einer echten V.24 schon alleine wegen PDP11GUI. Und der 15" LCD samt Tastatur liegt bei mir immer auf der Werkbank wegen den anderen Projekten. > Spannend wird es dann bei Controllern deren lokale Intelligenz aus > Bitscheiben besteht :-) Ich habe da noch ein paar Teile aus einer alten Plessey CPU herum liegen, ein dual-higth 9-slot Chassis, eine PDP-11/23 LSI CPU und dann jede Menge Peripherie, darunter einen Diskcontroller, einen Floppy Controller und ein Tape Controller auf denen Tummeln sich etliche 2901. Leider habe ich absolut keine Doku dazu. ODT läuft, d.h. das ganze würde sicher auch funktionieren. > Allerdings macht es mich immer ein Bisschen traurig wenn halt z.B. an > einen Z180 unbedingt ein Atmel angespaxt werden muß um den Z180 zu > booten..das ist irgendwie Quatsch. Nicht unbedingt, ich habe bei mir einen kleinen W65C02 SBC gebaut, genannt ROMulus 1st, und der setzt einen Atmel ATmega1284P ein der dient als Bootloader, VGA und PS/2 interface, den W65C02 betreibe ich bei 12.5MHz, da findest du kein ROM mehr das da mitmacht. Gut primärer Grund ist VGA und PS/2, der Bootloader war ein Add-On. Im Moment stehe ich bei meinem DCJ11 Projekt auf dem Schlauch, irgendwie möchte ich es in eine definitive Form bringen aber ich habe noch gar nicht alles getestet. Das Steckbrett ist für laufende Änderungen eben gar nicht so schlecht. Eigentlich würde ich gerne einen sauberen Bus mit 3 oder 4 Steckplätzen für die IO Geräte haben. Das RAM und die Console würden auf der CPU Karte Platz. Gruss Peter
Peter S. schrieb: > Holm T. schrieb: >> Englische Dokumentation ist mir nicht bekannt, ich habe aber davon schon >> etliches durch einen Online-Translator geleiert und es ist prinzipiell >> klar was das Ding macht. >> Er hat keinen internen ODT aber einen SEL Ausgang mit dem ein Zugriff >> auf einen externen Speicherbereich gesteuert wird (also so nicht im >> PDP-11 Adreßraum liegend) in dem sich ein Firmware-ROM befindet der den >> Monitor-code enthält. Das Image und ein kommentiertes Reassembler >> Listing für diesen ROM gibt es. Außerdem sind in diesem Adreßbereich ein >> paar Arbeitszellen im RAM notwendig. >> Nach dem Einschalten liest die CPU von einem "Adreßfreien Register" die >> Bootkonfiguration, auch auf welcher Adresse der Einsprung in diesen >> Monitor liegt.. Der Rest sollte so ziemlich kompatibel sein. Der VM2 ist >> recht schnell und arbeitet mit 10Mhz Takt (extern 20Mhz). >> > Ja das addressfreie Register hat auch der DCJ11, das Boot Register wird > via > GPREAD Zyklen gelesen, das ist bei mir der 74HCT541. Das mit SEL > interessiert > mich, d.h. er kennt intern dass er im ODT ist aber das Program dazu muss > man liefern? Ja, genau so. Das ODT ist zwar halt nicht im Microcode enthalten, trotzdem aber für das restliche System transparent weil es nicht im normalen Adreßraum auftaucht. (160000-163777 aber mit extra Select Signal) Dieses addressfreie Register habe ich mal in irgend einem Originalschaltplan gesucht, das waren da nur 74ls03 (o.ä?) die Eingangsseitig auf einem Disp Schalter lagen und eine gemeinsame Freigabe hatten. Da registert nichts wirklich. > Zur Geschwindigkeit, wieviele Taktzyklen benötigt der VM2 pro Memory > Read? Der > DCJ11 braucht 4 Taktzyklen pro Cache Read, wenn wie bei mir das ganze > RAM so > schnell ist wie er es vom Cache erwartet, dann ist jeder Memory read > exakt > 4 Zyklen, bei 16MHz (aktuell bei mir, aber er funktioniert auch mit > 18MHz) läuft > das Ding recht flott. Ich muß da auch erst die Diagramme auswerten und bin aus dem Stand so überfragt. > >> Ich verstehe Dich an dieser Stelle nicht.. Ich habe da noch olle 486er >> Schlapptops rumliegen die das besser können als jeder Eigenbau und da >> kann man im Notfall eine Ersatz11 oder einen SIMH drauf laufen lassen >> oder PDP11GUI.. >> Wozu das also selber basteln? >> > Basteln vor alle daher, bei mir liegen keine alten Laptops herum, ich > habe zwei > MAC. Und wie gesagt, die Console bleibt bei einer echten V.24 schon > alleine > wegen PDP11GUI. Und der 15" LCD samt Tastatur liegt bei mir immer auf > der Werkbank > wegen den anderen Projekten. ..nunja, die mußt Du aber jedes mal spezifisch anknoten. Was ist da gegen eine V.24 zu sagen? > >> Spannend wird es dann bei Controllern deren lokale Intelligenz aus >> Bitscheiben besteht :-) > Ich habe da noch ein paar Teile aus einer alten Plessey CPU herum > liegen, ein > dual-higth 9-slot Chassis, eine PDP-11/23 LSI CPU und dann jede Menge > Peripherie, > darunter einen Diskcontroller, einen Floppy Controller und ein Tape > Controller > auf denen Tummeln sich etliche 2901. Leider habe ich absolut keine Doku > dazu. ODT > läuft, d.h. das ganze würde sicher auch funktionieren. >> Allerdings macht es mich immer ein Bisschen traurig wenn halt z.B. an >> einen Z180 unbedingt ein Atmel angespaxt werden muß um den Z180 zu >> booten..das ist irgendwie Quatsch. > > Nicht unbedingt, ich habe bei mir einen kleinen W65C02 SBC gebaut, > genannt ROMulus 1st, > und der setzt einen Atmel ATmega1284P ein der dient als Bootloader, VGA > und PS/2 > interface, den W65C02 betreibe ich bei 12.5MHz, da findest du kein ROM > mehr das da > mitmacht. Gut primärer Grund ist VGA und PS/2, der Bootloader war ein > Add-On. Vorsicht. Ich habe z.B. CY7C291 (AM27C291) 2Kx8 mit 35ns Zugriffszeit ..und mir einen Programmer dafür gebaut (mit Atmel). Abgesehen davon sagt mir 6502 nicht viel, außer das da nicht viel an Registern drin ist, der einen schnellen Zero-Page Zugriff ermöglicht und u.A. im Brotkasten verbaut ist weiß ich über das Ding nicht viel. > > Im Moment stehe ich bei meinem DCJ11 Projekt auf dem Schlauch, irgendwie > möchte ich > es in eine definitive Form bringen aber ich habe noch gar nicht alles > getestet. Das > Steckbrett ist für laufende Änderungen eben gar nicht so schlecht. > Eigentlich würde > ich gerne einen sauberen Bus mit 3 oder 4 Steckplätzen für die IO Geräte > haben. Das RAM > und die Console würden auf der CPU Karte Platz. > > Gruss > > Peter Du wirst nicht umhin kommen Dir eine Backplane mit Bus basteln zu müssen wenn Du das Teil ausbauen willst. Ich verstehe aber Dein Dilemma ..es ist noch zu viel Grundsätzliches ungeklärt.. Gruß, Holm
Hallo Holm, natürlich da registert nichts, es heisst nur BOOT Register und der 74HCT541 führt auch nur zu DIP switches (bei mir noch Steckbrücken) und bei einem GPREAD liest der DCJ11 die bits und entscheidet dann wie er bootet. Wenn man ein 16-bit Wort liefert dann kann man auch noch eine boot Adresse mitliefern. Eine andere Option ist die Standard Boot-Adresse 173000. Im Moment ist es fest auf ODT gesetzt. Bei VGA und PS/2 da ist nichts mit stöpseln für das gibt es KVM. Das CY7C291 war mir völlig unbekannt, das ist natürlich eine Alternative. Ja der 6502 war im Brotkasten, im BBC Micro und im Apple II. Wird heute noch als IP zu Millionen eingesetzt. Backplane, ja das wird es wohl werden, aber es sollte einfach bleiben. Ich denke die nächste Zeit werde ich über noch nicht getestete grundsätzliche Funktionen und die Backplane nachdenken. Gruss Peter
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.