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?
..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...
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.
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
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 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