Wenn Du schon bei der nächsten Revision bist: Gestern habe ich mich mal mit funkenzupfer darüber unterhalten, wie man das Ding auf 8 x 4164 statt 16 x 4116 umbauen kann, und den zusätzlichen Speicher auch für die doppelte Anzahl Grafikseiten nutzen kann...
mein CBM 8032 (No. 2) mit Commodore High Speed Graphik
-
-
Klasse! Ich hab auch eine GAL-Version des Boards aufgelegt, da kann der direkt verbaut werden.
Klasse!
Die Frage ist halt, ...
... jetzt haben wir schon diesen GAL drinnen ...
... jetzt könnten wir doch auch gleich versuchen noch mehr zu optimieren!
Wir könnten mal anfangen mit:
- statt des Counter+PROM+D-FF
- ein GAL
Wir würde da gerne behilflich sein.
Was meinst du dazu?
-
Klingt auch gut. Wie ich schon mal schrieb: erst Ziel war 1:1 Nachbau, und wenn der bestätigt ist, den frei zu veröffentlichen. Eine "milde" Optimierung finde ich auch sehr gut als Option, wenn eben Dinge die heute nur noch schwer oder gar nicht mehr zu bekommen sind ersetzt werden. Wo ich für mich die Grenze ziehen würde sind sachen wie "alles in einen FPGA stecken". Das ist cool, aber auch irgendwie nicht so meins. Nicht nur, weil ich davon noch weniger Ahnung habe als das bissl Halbwissen und Rumraten vom dem TTL-Grab, wie es sich jetzt darstellt. xD
Vielleicht an einem Beispiel beschreibbar: für meinen SX64 wollte ich einen Speeder, weil meiner mit den Überresten eines Parallelspeeders kam. Und weil es sich beim SX ja auch anbietet, schließlich sieht man das hässliche Kabel nicht. Ich hab mich bewusst für einen "primitiven" Nachbau des DolphinDOS entschieden, weil das halt durchaus zeitgemäß ist. Ein MeGALoDOS hingegen würde ich niemals einsetzen. Dann kann ich gleich einen Pi in ein Gehäuse stopfen. Zu modern alles, wenns geht noch mit Display - das ist es nicht für mich. Schön das es sowas gibt, aber persönlich danke, nein danke (zumal ich mich bei sowas immer frage: ich würde dann eh nur einen Speeder nutzen, wozu also dann die Option für 1000 andere)
Oder kürzer ausgedrückt als mein Gelaber bislang: den Timingschaltkreis vereinfachen, um das PROM "rauszuwerfen" fände ich sehr gut als Option. Das mit den Rams auch noch für eine dritte Version, danach wäre ich tendenziell raus, aber natürlich kann auch dazu auf die dann veröffentlichte Repo zugegriffen werden. Gerne sogar.
-
statt des Counter+PROM+D-FF
Bisher brauchst du wenigstens 9 Ausgaenge (6 Clk und 3 Zaehlerbits), waere also ein 22V10 moeglich.
Wenn ihr mit mehreren Baenken (>2) arbeiten wollt, solltet ihr noch ein MUXER Signal einplanen, dass fuer das 8. DRAM Adressbit (bei 4164ern) zustaendig ist.
-
Bisher brauchst du wenigstens 9 Ausgaenge (6 Clk und 3 Zaehlerbits), waere also ein 22V10 moeglich.
Wenn ihr mit mehreren Baenken (>2) arbeiten wollt, solltet ihr noch ein MUXER Signal einplanen, dass fuer das 8. DRAM Adressbit (bei 4164ern) zustaendig ist.Ich sehe gerade, die generierten Signale sind ja teilweise für den Refresh der DRAM ...
Da stellt sich mir die Frage, ob man nicht gleich SRAM nutzen kann?
- SRAM ist heutzutage spottbillig
- man spart sich die Refresh Sache
-
SRAM wäre zu schwierig, denke ich.
Nicht nur, daß der Grafikprozessor gemultiplexte Adressleitungen passend für DRAM hat, der Zugriff auf die RAMs erfolgt für den Bildaufbau auch noch bitweise statt byteweise. Sonst müsste man per Schieberegister aus einem Byte die einzelnen Pixel-Bits erzeugen, so wie beim Zeichenorientierten Bildaufbau des CBM.
-
Wo ich für mich die Grenze ziehen würde sind sachen wie "alles in einen FPGA stecken".
Da bin ich ganz bei dir!
Ein MeGALoDOS hingegen würde ich niemals einsetzen. Dann kann ich gleich einen Pi in ein Gehäuse stopfen.
Da sind wir nicht konform ...
Ich LIEBE das MeGALoDOS!!!
Ein Leben ohne kann ich mir kaum noch vorstellen.
Ein PI ist ganz was anderes!
Das MeGALoDOS baut die alte Speeder Hardware 1:1 nach.
Natürlich hat man statt 20 TTL und statt mehrerer RAM Chips nur einen RAM.
Natürlich hat es abartig viel SRAM.
Natürlich hat es abartig viel EPROM.
Aber es ist trotzdem "nur" ein 1:1 Abbild.
Der Arduino hat keinen Kontakt zur 1541, wenn man von der GND und 5V absieht.
Der macht nur was sonst Schalter, Jumper, Taster und Gatter machen würden.
Also Reset, Schreibschutz und Vorgabe welche Speeder Hardware aktiv sein soll.
ich würde dann eh nur einen Speeder nutzen, wozu also dann die Option für 1000 andere)
Manchmal ist es halt nett, wenn man den Speeder wechseln kann.
Gerade für Speeder Vergleich eine tolle Sache.
Oder kürzer ausgedrückt als mein Gelaber bislang: den Timingschaltkreis vereinfachen, um das PROM "rauszuwerfen" fände ich sehr gut als Option.
Sehr gut.
Ich werde das mal behirnen.
Wie stehst du zu SRAM statt DRAM?
-
man spart sich die Refresh Sache
Da kannst du nichts sparen, das macht der EF936x.
Im Gegenteil, du muesstest aus RAS und CAS Adressen eine komplette Adresse fuer das SRAM erzeugen. Also 2 Latches.
Nee, SRAM geht gar nicht. Der EF936x braucht bit-weisen Zugriffs aufs Video-Memory.
Diddl , machs nicht komplizierter als noetig.
-
SRAM wäre zu schwierig, denke ich.
Nicht nur, daß der Grafikprozessor gemultiplexte Adressleitungen passend für DRAM hat, der Zugriff auf die RAMs erfolgt für den Bildaufbau auch noch bitweise statt byteweise. Sonst müsste per Schieberegister aus einen Byte in die einzelnen Pixel-Bits erzeugen, so wie beim Zeichenorientierten Bildaufbau des CBM.
Ah okay.
Wobei man könnte ja auch nur Bit 0 des SRAM benutzen.
Der Vorteil wäre immer noch, dass man nur 1 Speicher IC hat und dass der Refresh unnötig wird.
Wie sieht es mit der Beschaffbarkeit der DRAM aus?
Kriegt man die noch heutzutage?
-
Wobei man könnte ja auch nur Bit 0 des SRAM benutzen.
Geht auch nicht.
Es wird auch byte-weise gelesen.
-
Wie sieht es mit der Beschaffbarkeit der DRAM aus?
Kriegt man die noch heutzutage?
Sobald man von den 4116 mit den 3 Spannungen weg ist, hat man ja relativ viel Auswahl, welche man nimmt - je nach Verfügbarkeit und Preis.
4164, 41256, 411000 - u.U. nutzt man halt den Speicher nur teilweise.
-
Bisher brauchst du wenigstens 9 Ausgaenge (6 Clk und 3 Zaehlerbits), waere also ein 22V10 moeglich.
Up/Down Eingang ist low (siehe bild) - er zählt also runter. dann passt es wieder
7-6-5-4-3-2-1-0-7Brainstorming ...
Naja, eigentlich braucht es nur
- EINEN EIngang - die 14 MHz
- und 7 Ausgänge: Clk_1_75, CLKrascas, CLKras, CLKcas, CLKef936x, CLKclr, CLK_write
Oder hab ich was übersehen?
-
-
Oder hab ich was übersehen?
Ja, den Zaehler.
Auch wenn du den Ausgang der Zaehlerbits nicht direkt benoetigst, braucht es die Makrozelle mit dem FlipFlop. Die entsprechenden Pins kann man bei GALs nicht mehr als Eingang verwenden (kann vielleicht Ausnahmen geben, aber als Ausgang erst recht nicht).
Bei CPLDs geht das bei manchen, z.B. XC95xx von Xilinx.
Sagt mal, hat nicht jemand gesagt, es wuerden nur 5 Bits im PROM benutzt?
Wenn dem so ist, warum sind 6 Ausgaenge benutzt?
-
Bisher brauchst du wenigstens 9 Ausgaenge (6 Clk und 3 Zaehlerbits), waere also ein 22V10 moeglich.
Ja du hast schon recht mit dem 22v10.
Der GAL 16v8 lässt keine NODE zu.
Also braucht es jeden Ausgang.
Auch wenn ich den gar nicht auf einem PIN führe ...
Verflixt!
Aber besser ein GAL22v10 als zwei TTL und ein PROM ...
-
Vor dem festlegen der GAL-Pins, _IMMER_ erst die GAL-Gleichungen schreiben, durch den GAL-Assembler laufen lassen und dann weiter machen.
Sonst wird das schnell eine No-Go-Schaltung.
-
Der GAL 16v8 lässt keine NODE zu.
Auch wenn du es als NODE schreibst, es braucht die Makrozelle. Das ist die Begrenzung. Und beim xxV8 gibt's nur 8 Makrozellen.
Ausser du haettest jetzt Glueck und ein Ausgang entspricht genau einem Zaehlerbit.
Hat sich jemand die Gleichlungen angeschaut, die im PROM "verbaut" sind?
-
-
Also, die GAL 22v10 habe ich neulich um ca. 1,10€ bestellt.
Ein GAL 16v8 + 2 Stück TTL werden das wahrscheinlich auch kosten.
Was meinst ihr?
- GAL 16v8 + TTL + TTL
- fast unbelegter GAL 22v10
-
Was meinst ihr?
Wenn Reengineering, dann bitte richtig.
Ich hab mal den PROM Inhalt grafisch dargestellt.
Kann das bitte jemand kontrollieren?
D2 entspricht dem QC des Zaehlers. Ein GAL-Ausgang gespart.
D4 folgt D3 invertiert um einen Takt.
D0 folgt D1 um einen Takt.
Fuer D0 und D4 kann man einen 7474 nehmen und spart 2 GAL-Ausgaenge. Ist jetzt die Frage was sinnvoller ist.
-
Es scheint noch ein Problem zu geben ...
WinCUPL lässt den Term .CK nicht zu beim GAL?
Der GAL ist ziemlich eingeschränkt:
Die Extensions bei einem GAL22v10 sind: .OE .D .AR .SP
Leider ist der Clock anscheinend gemeinsam ...
So wie ich das sehe, kann man damit keinen Frequenzteile realisieren?
Oder bin ich nur zu blöd?
Ein Schieberegister ist kein Thema.
Aber wenn der Clock überall alle gleich ist ...
-
Der Clock ist bei GALs immer gleich.
Auf jeden Fall bei 16V8, 20V8 und 22V10.
Aber es gibt doch nur einen Clock in dem GAL.
-
Okay es geht natürlich trotzdem.
Aber halt ziemlich schräg ...
Gut dass es CPLD gibt!
Ich mach mich schlau wie man Zähler implementiert, Nachhilfe in digital Technik.
-
Hi
Der EF9367 ist günstiger zu bekommen und kann noch höhere Auflösungen wenns der Monitor noch könnte...
Habs nicht getestet soll aber direkt einsetztbar sein..
-
Hi
Der EF9367 ist günstiger zu bekommen und kann noch höhere Auflösungen wenns der Monitor noch könnte...
Habs nicht getestet soll aber direkt einsetztbar sein..
Soll ich so ein Teil mal ordern? Versuchen könnte man es ja!
-
So, der GAL 22v10 sollte nun alle Clock Signale sauber generieren aus dem 14 MHz Clock.
Code
Alles anzeigen/* ______________ | HSG-Clock | CLK x---|1 24|---x Vcc x---|2 23|---x CLK_175 x---|3 22|---x CLK_rascas x---|4 21|---x CLK_ras x---|5 20|---x CLK_cas x---|6 19|---x CLK_EF936x x---|7 18|---x CLK_clr x---|8 17|---x CLK_write x---|9 16|---x Q0 x---|10 15|---x Q1 x---|11 14|---x Q2 GND x---|12 13|---x |______________|
Am Pin 1 werden die 14 MHz angelegt.
Die Ausgänge 23 bis 17 sollten die Signale ausgeben wie bei der originalen Schaltung.
===
Evt. muss Pin 13 auf GND gelegt werden.
Ich bin mir da nicht sicher, ob /OE obligat ist bei dem Register Typ.
Im Simulator braucht es das nicht.
Aber bei Tests mit einem 16v8 an meinem Kanda Board braucht es das OE.
Das wäre bitte zu testen, falls die Signale nicht generiert werden.
.
-
Also der 22v10 ist viel flexibler wie der 16v8 ...
Man kann die OE frei definieren auch im Registered Mode.
Hier noch ein Jedec wo OE fix auf 1 steht.
Damit sollte es unabhängig von Pin 13 funktionieren.
.
-
-
welches programm und welchen simulator benutzt du und wo kann man den bekommen?
WinCupl = Compiler + Simulator
Allerdings ziemlich Steinzeit ...
Ist von Atmel.
Gibts ja leider nicht mehr, also wohl jetzt Microchip oder wie die jetzt heißen.
-
Nochmals eine neue Version von JEDEC und PLD File.
Wahrscheinlich gehen auch die Versionen weiter oben.
Nur hat der Simulator damit irgendwie gesponnen.
Es scheint so, wie wenn der Simulator manchmal Probleme mit der FIELD Anweisung hat.
Bei der v3 habe ich nun alle Zuweisungen per Hand für jeden Ausgang definiert.
Damit ist es ziemlich sicher, dass die Ersatzlösung tadellos arbeitet.
Nun zeigt der Simulator auch endlich ein vernünftiges Bild:
.