Hallo!
Ich möchte mir einen Z80 SBC bauen und befinde mich zur Zeit in der
Designphase für die Hardware. Aus diesem Grund kann ich auch noch keinen
Schaltplan präsentieren. Dies ist mein erstes größeres Projekt, das ich
selbst umsetzen möchte. Ich habe natürlich schon ausgiebig Schaltpläne
und Datenblätter studiert... An Erfahrung mangelt es halt ein wenig. Aus
diesem Grund wäre ich für Vorschläge, Verbesserungen und Meinungen
dankbar. Aber bitte schenkt euch die Kommentare warum ich das mache...
Zu meinem Design:
- Grundsystem bestehend aus CPU, CTC, PIO und SIO.
- Getaktet von einem Clockgenerator mit 9,8304 MHz Quarz eventuell mit
Einzelschritt-Schaltung.
- Stromversorgung mit 5V-Low Dropout-Regler (mir schwebt zB ein LM2940
oder LM1085 vor).
- Supervisor-Schaltung mit MAX691 oder ADM697.
- Bezüglich der Speicherbestückung bin ich mir am unsichersten, wie ich
das am besten löse:
* 8kx8 oder 32kx8 EEPROM und Rest SRAM
* 128kx8 FLASH (über DIP-Switch aufgeteilt in 4 32k-Seiten oder 16
8k-Seiten) und Rest SRAM
* NVRAM-Bausteine (8kx8 oder 32kx8) und SRAM
* SRAM mit NVRAM-Controller (BQ2201) und SRAM
* oder wie vorher mit NVRAM-Controller und Reset-Schaltung kombiniert in
Form eines DS1321
Ich würde die FLASH-Variante präferieren...
- Zusätzlich vlt eine NVRAM-Karte als Laufwerk zum Einbinden (mit obigen
Mitteln nur halt nicht im "normalen" Speicherbereich)
- Ferner möchte ich die Schaltung zum Programmieren des jeweiligen
EEPROM/FLASH/NVRAM mit Hilfe eines ATMEGAs (welcher weiss ich noch
nicht) direkt auf der Platine unterbringen. Laut meinen Recherchen
sollte es reichen, die CPU auf Reset zu halten damit sie nicht
dazwischenquatscht.
Das ganze möchte ich auf Lochraster mit Fädeldraht löten (ich weiss,
viel Arbeit, aber ich hoffe es zahlt sich am Ende aus...).
Denkt ihr das ist so machbar bzw was könnte ich besser machen?
Danke und LG
Nichtsdestotrotz gibt es das Henne Ei Problem. Damit der Z80 das kann
braucht er doch auch mal einen Monitor der ihm sagt wie. Ausserdem fände
ichs elegant...
Meinst du dass Signale übersprechen... Das wäre natürlich nicht so gut.
Ich dachte wenn man schön kreuz und quer fädelt mindert sich dieser
Effekt. Und das muss ich sowieso da die Zilog ICs alle PLCC sind.
Crazy H. schrieb:> Ich hab mal einen 8085-EPC gefädelt, aber bei 3 MHz war da Schluss.
Das ist eine Designfrage, genauer eine Frage des Aufbaus der
Spannungsversorgung. Wenn man die nicht fädelt, sondern mit dickerem
Kupferdraht (verzinnt/versilbert) aufbaut und SMD-Abblockkondensatoren
an den richtigen Stellen verbaut, dann kann man auch erheblich
schnellere Systeme auf Lochrasterplatinen fädeln. Man sollte dann aber
auch auf "Fädelkämme" verzichten.
Ich habe mal einen 68020-SBC mit 25 MHz Taktfrequenz gefädelt, mit 2
MByte SRAM ohne Waitstates. Die einzigen SMD-Bauteile waren die bereits
erwähnten Abblockkondensatoren.
Harald Nagy schrieb:> Nichtsdestotrotz gibt es das Henne Ei Problem.
Es soll - so geht das Gerücht - Leute geben, die anderen helfen. Ein
Monitor Flash Eprom mit der Möglichkeit, sich selbst zu modifizieren,
ist in 15 Minuten gemacht. Man muss nur die Basisadresse der SIO, die
gewünschte Baudrate und Lage und Größe des RAM wissen.
Und noch ein Tipp: KISS, sonst kommst du nie in die Strümpfe. Ein
gängiger Flash Baustein, Seitenwahl per DIL-Schalter und ein gängiges
SRAM, am besten 64k oder 128k, Seitenwahl per Software (Latch im IO),
und ganz wichtig, eine Reset Logik, die es dir erlaubt, auf 64k RAM um
zu schalten.
Vor rund 25 Jahren hab ich mich damit abgefunden, daß es so ist.
Messmöglichkeiten hatte ich damals nicht. Das war der Rechner, der bei
der Kommunikationselektroniker-Ausbildung verwendet wird, auf einer
Eurokarte :oD
Rufus Τ. Firefly schrieb:> Crazy H. schrieb:> Ich hab mal einen 8085-EPC gefädelt, aber bei 3 MHz war da Schluss.>> Das ist eine Designfrage, genauer eine Frage des Aufbaus der> Spannungsversorgung. Wenn man die nicht fädelt, sondern mit dickerem> Kupferdraht (verzinnt/versilbert) aufbaut und SMD-Abblockkondensatoren> an den richtigen Stellen verbaut, dann kann man auch erheblich> schnellere Systeme auf Lochrasterplatinen fädeln. Man sollte dann aber> auch auf "Fädelkämme" verzichten.>> Ich habe mal einen 68020-SBC mit 25 MHz Taktfrequenz gefädelt, mit 2> MByte SRAM ohne Waitstates. Die einzigen SMD-Bauteile waren die bereits> erwähnten Abblockkondensatoren.
keine Ahnung mehr, wie der aufgebaut war, aber ich glaube der liegt noch
irgendwo rum. Mal suchen .....
Georg G. schrieb:> Harald Nagy schrieb:>> Nichtsdestotrotz gibt es das Henne Ei Problem.>> Es soll - so geht das Gerücht - Leute geben, die anderen helfen. Ein> Monitor Flash Eprom mit der Möglichkeit, sich selbst zu modifizieren,> ist in 15 Minuten gemacht. Man muss nur die Basisadresse der SIO, die> gewünschte Baudrate und Lage und Größe des RAM wissen.>> Und noch ein Tipp: KISS, sonst kommst du nie in die Strümpfe. Ein> gängiger Flash Baustein, Seitenwahl per DIL-Schalter und ein gängiges> SRAM, am besten 64k oder 128k, Seitenwahl per Software (Latch im IO),> und ganz wichtig, eine Reset Logik, die es dir erlaubt, auf 64k RAM um> zu schalten.
Dafür bin ich wohl noch zu 'dumm'. Vielleicht in Version 2 dann...?
Was ich aber eigentlich wissen wollte: denkt ihr dass funktioniert so
wie ich mir das vorstelle?
Danke. Kenn ich und hab ich. Ist allerdings ein ganz anderes Design.
Wenn das so ist und anscheinend keine Beschwerden kommen werde ich mich
am Wochenende mal an einen Schaltplan setzen...
Harald Nagy schrieb:> Ich will aber mein System nicht mit einem Zilog-Controller aufbauen...> Die hätte ich auch hier herumliegen. Und wenn schon dann ZNEO!
ZNEO ist nicht Z80-binärkompatibel. Der eZ80 schon.
Nun ja, wer es gerne umständlich mag...
fchk
PS: Hier hast Du Gleichgesinnte:
http://www.z80.info/homebrew.htm
Hallo
kennst du diese HP: http://www.ndr-nkc.de/compo/index.htm
mit der ECB-BUS Variante als mc-CP/M habe ich in den 80ern meine
Erfahrungen gesammelt.
War gut dokumentiert.
Georg G. schrieb:> Harald Nagy schrieb:>> Dafür bin ich wohl noch zu 'dumm'>> Was hast du an dem Hilfsangebot nicht verstanden?
Das schon, aber der zweite Absatz war mir etwas unlogisch. Oder meintest
du ohnehin meine Idee mit der Flash Aufteilung in Seiten? Im Kopf hätte
ich da zb den SST39SF010.
Hättest du denn evtl ein paar Codeschnipsel zu deinem Vorschlag?
Harald Nagy schrieb:>> Was hast du an dem Hilfsangebot nicht verstanden?>> Das schon, aber der zweite Absatz war mir etwas unlogisch. Oder meintest> du ohnehin meine Idee mit der Flash Aufteilung in Seiten?
Am flexibelsten bist du, wenn du 64K RAM vorsiehst. Und eine Logik, die
nach dem Reset die ersten z.B. 8K mit einem EPROM/EEPROM/FLASH
überlagert. Aus dem dahinterliegenden RAM kann man dann nicht lesen,
wohl aber rein schreiben. Und dann eine per I/O schaltbare Mimik, die
das überlagerte ROM wieder abschaltet und/oder bankswitched.
In den ROM legst du dann ab 0000H (Reset-Einsprung) ein kurzes Programm,
das deinen eigentlichen Monitor/BIOS ins RAM kopiert, im RAM anspringt
und dort dann das ROM abschaltet. Anschließend kannst du im RAM nach
Belieben schalten und walten und auch deinen Monitor überschreiben. Und
prinzipiell spricht auch nichts dagegen, im Monitor eine Routine zu
haben, die ihn zurück ins Flash kopiert. Am besten siehst du gleich
einen größeren Flash vor in dem mehrere Versionen des Monitors liegen
können. Dann kannst du immer eine "gute" Version behalten.
Das Thema hatten wir vor gar nicht langer Zeit schon mal:
Beitrag "Retro Fieber: Z80 oder 68000 ?"
Nim eine Z180 Harald, das spart Dir einigen Fitz. Der hat auch eine MMU
on Board und kann 1Mbyte adressieren. Habe ich Dir keinen ins Paket
gelegt?
Vorsicht, bei den schnelleren Z80 CPUs gibts üble Fälschungen auf Ebay..
...und "Nee" ist sächsisch, da darfst Du gar nicht.
Gruß,
Holm
Z180 hab ich auch hier - kommt erst danach. Ich will auch das Original
ausprobieren...
Hätte auch eine KIO hier -wird auch ein eigenes Board...
was Fälschungen betrifft. Sind alles ICs direkt von Zilog.
Mir geht es ja nur um den Lerneffekt und da gehört halt auch das alles
dazu. Blöd halt als absoluter Neuling. Aber es stresst ja nicht. Ein
System nach dem anderen.
Georg G. schrieb:> Crazy H. schrieb:>> bei 3 MHz war da Schluss>> Mein Z80-CP/M System ist zu 50% gefädelt und rennt problemlos mit 10MHz.
Ich biete einen 100% gefädelten TMS320C25 mit 40Mhz/2 = 20MHz in
Fädeltechnik :-) Boardcontroller ist ein Mega32.
Auch auf die Gefahr hin beschimpft zu werden: ich habe viele Jahre mit
Z80/Z8S180 und ähnlichen Prozessoren eigene Boards in vielen Varianten
antwickelt und in Assembler und C programmiert.
Die Hürden, die ich aus meiner wirklich jahrelangen Erfahrung heutzutage
sehe sehe, ist der Aufwand an Hilfsmitteln ( Assembler/Compiler)
EPROM-oder Flash-Programmer,
die in der Summe heutzutage deutlich teuerer sind als moderne
µC-Entwicklungssysteme.
Wenn du wirklich Hardware entwickeln willst, vernünftige Messgeräte hast
(DSO/Logicanalyzer), ist so ein System sicher interessant zum Lernen,
aber dir muss klar sein: die Technik ist von 1975, meinen ersten Z80
Einplatinenrechner habe ich während des Studiums 1977 gebaut ....
Falls du Fragen hast, ich gebe meine Erfahrung gerne weiter, wenns der
guten Sache dient, meine Komponenten habe ich allerdings vor Jahren
schon alle verkauft ...
Gruß Thomas
Eine Frage zur praktischen Ausführung: Da ich die Busleitungen auch auf
eine Stiftleiste herausführen will. Ist es sinnvoll, alle Busleitungen
auf einen Punkt zusammenzuführen und von dort aus die einzelnen
Bausteine zu verbinden oder ist es besser, die Leitungen nach der Reihe
herzustellen? Ab wann sind eigentlich Bustreiber bzw Latches notwendig?
Harald Nagy schrieb:> Ab wann sind eigentlich Bustreiber bzw Latches notwendig?
Die traditionellen Z80 funktionieren auch noch mit einer
Rückwandverdrahtung und einigen dort eingesteckten Platinen, wenn diese
ordentlich gebuffert sind, z.B. mit HCT245 am Datenbus und
entsprechenden Treibern für Adressen usw.
Eine Busverdrahtung mit der CPU an einem Ende ist am besten, dann kannst
du auch an den Enden Pullup-Widerstände mit z.B. 10 kOhm verwenden, das
ist kein Hispeed-Abschluss, aber besser als nichts.
Georg
Georg schrieb:> Harald Nagy schrieb:>> Ab wann sind eigentlich Bustreiber bzw Latches notwendig?>> Die traditionellen Z80 funktionieren auch noch mit einer> Rückwandverdrahtung und einigen dort eingesteckten Platinen, wenn diese> ordentlich gebuffert sind, z.B. mit HCT245 am Datenbus und> entsprechenden Treibern für Adressen usw.>> Eine Busverdrahtung mit der CPU an einem Ende ist am besten, dann kannst> du auch an den Enden Pullup-Widerstände mit z.B. 10 kOhm verwenden, das> ist kein Hispeed-Abschluss, aber besser als nichts.>> Georg
Ganz so traditionell wird's ja nicht. Sind ja die "moderneren"
CMOS-Varianten. Aber ich denke mir auch, dass Bustreiber/Latches (ich
würde HC-Logik verwenden, die habe ich hier) nicht schaden können.
Harald Nagy schrieb:> Aber ich denke mir auch, dass Bustreiber/Latches (ich> würde HC-Logik verwenden, die habe ich hier) nicht schaden können.
Ich habe mich noch etwas ungenau ausgedrückt: meine CPU hat keine
Treiber, aber alle eingesteckten Karten (belasten also den Bus bloss mit
1x HCT).
Georg
Hallo Harald,
wenn Du Dich mit Z80 beschäftigen willst, schaue bitte hier rein:
http://www.robotrontechnik.de/html/forum/thwb/index.php
Da gibt es eine Menge von Menschen, die sich damit beschäftigen.
Die Fragen die sich mir stellen:
- wie willst Du etwas sehen ohne Bildschirm (PIOs mit LEDs?)
- zur Programmentwicklung und EPROM brennen: was hast Du zur Verfügung
- neben RESET-Schaltung würde ich NMI-Schaltung empfehlen mit
entsprechendem Kontrollprogramm zur Fehlersuche
mfg ralph
Ralph Müller schrieb:>> Die Fragen die sich mir stellen:>> - wie willst Du etwas sehen ohne Bildschirm (PIOs mit LEDs?)
serielle Konsole zum PC ist Interface genug
> - zur Programmentwicklung und EPROM brennen: was hast Du zur Verfügung
Bitte lies meinen Eingangspost. Kein EPROM. EEPROM, FLASH, NVRAM oder
SRAM mit NVRAM-Controller. Und Programmiersoftware für einen
Microcontroller dafür zu schreiben ist jetzt nicht der große Aufwand.
> - neben RESET-Schaltung würde ich NMI-Schaltung empfehlen mit> entsprechendem Kontrollprogramm zur Fehlersuche>
Ist eine Idee. Danke.
> mfg ralph
gglg Harald
Harald Nagy schrieb:>> - zur Programmentwicklung und EPROM brennen: was hast Du zur Verfügung>> Bitte lies meinen Eingangspost. Kein EPROM. EEPROM, FLASH, NVRAM oder> SRAM mit NVRAM-Controller. Und Programmiersoftware für einen> Microcontroller dafür zu schreiben ist jetzt nicht der große Aufwand.
Du brauchst einen Urlader auf Adresse 0000H. Ob das EPROM, EEPROM oder
was auch immer ist, ist egal. Nach Power-On-Reset liest die CPU ab
0000H.
Axel Schwenke hat das schon beschrieben.
mfg ralph
Ja und was spricht dagegen zb einen Flash mit einem atmega zu
programmieren und auf adresse 0 zu legen?
Georg du meinst also die Bustreiber sind nicht notwendig?
Das mit dem Speicherbanking erscheint mir etwas kompliziert. Das ROM auf
0000h kann ich ja nicht so leicht ausblenden. Dort in der nähe sind ja
auch die Interruptroutinen....
Ralph Müller schrieb:> Du brauchst einen Urlader auf Adresse 0000H
Das hatte so gut wie kein reales Z80-System, nur die für CP/M-Rechner.
Normalerweise steht das Programm in einem Eprom und das fängt bei der
Adresse 0 an - ganz einfach. "Geladen" wird, indem man das geeignete
EProm reinsteckt. Das kann man heute natürlich anders lösen, wenn man
Flash verwendet und im System programmiert, aber das gabs zu Z80-Zeiten
garnicht. Dafür gabs zum Entwickeln EProm-Simulatoren oder
InCircuit-Emulatoren oder ganz primitiv Monitorprogramme.
Georg
Hallo Harald,
Speicherbanking muß nicht zwangsläufig 64 K sein. Es gibt Z80-Systeme in
denen 8, 16 oder 32 K RAM- oder ROM-Segmente jeweils über PIO-Signal
eingeblendet werden.
Du mußt auch festlegen wo der SP-Bereich sein soll, die SIO mit
Pegelanpassung an PC-Interface muß auch stimmen (Kontroll-LEDs für
senden und empfangen?).
mfg ralph
Ralph Müller schrieb:> Speicherbanking muß nicht zwangsläufig 64 K sein
Das kann es garnicht, man braucht ja einen Speicherbereich, der in
beiden Bänken gültig ist für das gemeinsame Programm - z.B. das
Programm, das zwischen den Bänken umschaltet. Nur so kann man
Unterprogramme in verschiedenen Bänken aufrufen und so Programme mit
mehr als 64k realisieren.
Georg
Harald Nagy schrieb:> Ja und was spricht dagegen zb einen Flash mit einem atmega zu> programmieren und auf adresse 0 zu legen?>> Georg du meinst also die Bustreiber sind nicht notwendig?>> Das mit dem Speicherbanking erscheint mir etwas kompliziert. Das ROM auf> 0000h kann ich ja nicht so leicht ausblenden. Dort in der nähe sind ja> auch die Interruptroutinen....
Harald Du hast promoviert und solltest eigentlich in der Lage sein
rauszubekommen wan irgendwas "an sich Scheiße ist".
Klar kannst Du da einen Atmega drauf frickeln der den RAM für den Z80
lädt.
Da es aber schon Z80 emulierende Software für die Atmels gibt, läge es
nahe den Z80 einfach im Design weg zu lassen, denn er behindert mit
seiner Anforderung nach Reset den RAM geladen haben zu wollen den Atmel
am werkeln.
Das Design ist in diesem Sinne genauso wie diese Stamp eigentlich Stuß.
Das Dir das mit dem Laderom kompliziert erscheint bedeutet eigentlich
nur das Du das Prinzip nicht verstanden hast.
Es ist überhaupt nicht kompliziert und die Sache existiert in den
verschiedensten Inkarnationen. Es ist Nichts weiter nötig als ein D-FF
als Ausgaberegister zu beschalten und mit dessen Ausgängen die Selektion
von ROM und RAM wechselweise zu sperren. Ob da Interruptvektoren liegen
ist irrelevant, zur Zeit des Umladens müssen keine Interrupts bedient
werden und die werden simpel gesperrt bzw. sind es nach dem Reset noch.
Stelle Dir RAM und ROM auf dem selben Adreßbereich ab 0 vor, die
Chipselektlogik bewerkstelligt das nach Reset das ROM gelesen wird, aber
Schreibzugriffe auf dem RAM laden. mit LD HL,0 LD DE,0 LD BC,ROMLEN,
LDIR
schaufelst Du am Stück unmittelbar nach Reset den Speichernhalt um,
danach ein Ausgabebefehl auf das oben angesprochene Flipflop und der ROM
wird gesperrt und die Lesezugriffe landen auch auf dem RAM, das wars.
Statt Fliplop tut es auch ein Pio-Bein oder auch ein "DTR" Ausgang einer
Sio..
Wenn Du mit alten Mikroprozessoren basteln willst, akzeptiere auch deren
Einsatzbedingungen wie z.B externe Programmspeicher.
Nochmal zu den Atmels: Wenn das einzige Werkzeug das man hat ein Hammer
ist, beginnt Alles um einen herum auszusehen wie ein Nagel...
Wenn Du was Sinvolles mit dem Atmel machen willst, baue einen einfachen
Epromer für Eproms EEProms oder Flashroms, so lange man sich auf einen
Typ beschränkt ist das verhältnismäßig easy. eine 32K Type ist eine
vernünftige Größe für Z80 Sachen, da bekommt, man schon ein Vielfaches
von dem unter was man braucht, inklusive CP/M vom Rom..
Die Speicherumlademimik läßt sich beliebig aufbohren, es gibt Lösungen
mit einem kleinen TTL RAM als MMU, mit dem dann auch solche Sachen wie
programmierbarer Schreibschutz und RAM Paging (RAMfloppy) möglich sind.
Sinnvollerweise sollte dieser TTL RAM auch über E/A Befehle geladen
werden.
Gruß,
Holm
Harald Nagy schrieb:> Georg du meinst also die Bustreiber sind nicht notwendig?
Nicht für den Betrieb als Z80, aber es kommt drauf an wie du den Atmel
reinbasteln willst, entweder du baust Treiber für Daten, Adresse,
Control ein und schaltest sie bei Atmel-Zugriff ab, oder du verwendest
Z80 BUSREQ (= mehr Knowhow aber weniger Hardware).
Georg
Holm Tiffe schrieb:> Wenn Du was Sinvolles mit dem Atmel machen willst, baue einen einfachen> Epromer für Eproms EEProms oder Flashroms, so lange man sich auf einen> Typ beschränkt ist das verhältnismäßig easy. eine 32K Type ist eine> vernünftige Größe für Z80 Sachen, da bekommt, man schon ein Vielfaches> von dem unter was man braucht, inklusive CP/M vom Rom..
Genau das war ja meine erste Idee, nur halt on-board. Was spricht denn
dagegen? Alles andere hat sich in dieser Diskussion ergeben...
Und ja, ich tue mich noch schwer mit den Konzepten, was das Design
betrifft. Das sehe ich ja als Herausforderung und will es hinbekommen.
Am Ende soll halt schon ein Board herauskommen, das auch funktioniert.
Und genau deswegen lese ich, frage ich hier und überlege mir
verschiedene Herangehensweisen. Ich bin leider nicht in der glücklichen
Lage MIT diesen Konzepten aufgewachsen zu sein...
Georg schrieb:> Ralph Müller schrieb:>> Speicherbanking muß nicht zwangsläufig 64 K sein>> Das kann es garnicht, man braucht ja einen Speicherbereich, der in> beiden Bänken gültig ist für das gemeinsame Programm - z.B. das> Programm, das zwischen den Bänken umschaltet.
Quarks. Man braucht nur in jeder 64k-Bank die Bank-Switching-Routine an
der genau gleiche Adresse haben. Aber ein Speichermodell mit 16k oder 8k
Bänke oder Pages ist schon flexibeler.
Der MSX Homecomputer hatte überigens ein 16k-Page Speichermodell. Die
64k sind verteilt in 4 16-k Pages, die über ein Register im PPI
geschaltet wurden. Für jeder Page kann man aus 4 "Slots" einen wählen.
1
Bank-> 0 1 2 3
2
0xFFFF +---+---+---+---+
3
| | | |[R]| Hier ist zB. für Page 3 (0xC000-0xFFF)
4
0xC000 +---+---+---+---+ Slot 3 geschaltet. Es ist immer in jeder
Standardmässig ist in slot 0, page 0 (0x0000-0x3FFF) immer das BIOS, und
in page 1 (aber nicht zwangsläufig slot 0!) der BASIC ROM. In Page 3
muss RAM geschaltet sein, wegen System-variabelen und Stack.
Die obige Tabelle ist Beispielhaft für eine MSX-Maschine mit 32k RAM.
Der MSX hat auch physikalische "Slots" wo man ein ROM (oder RAM) Modul
einstecken kann. So ein Modul nimmt dann ein Slot im Speichermodell in
Anspruch. zB so:
1
Bank-> 0 1 2 3
2
0xFFFF +---+---+---+---+
3
| | | |[R] | Hier is in Slot 1 ein 48k ROM (M)
4
0xC000 +---+---+---+---+ eingesteckt. Die geschaltete Pages sind
5
| |[M]| | R | mit [.] gekennzeichnet. Merke wie in
6
0x8000 +---+---+---+---+ diesem Fall das BIOS, der BASIC ROM und
7
| B |[M]| | | die untere 16k vom RAM nicht 'sichtbar'
8
0x4000 +---+---+---+---+ sind.
9
| B |[M]| | |
10
0x0000 +---+---+---+---+
Irgendwo im Wiki auf http://www.msx.org/ sollte das alles genauer
beschrieben sein, aber ich finde es so auf der schnelle nicht.
Harald Nagy schrieb:> Genau das war ja meine erste Idee, nur halt on-board. Was spricht denn> dagegen?
Nichts, ausser vielleicht dass man dazu nicht unbedingt einen Atmel oder
überhaupt einen 2. Prozessor braucht, man kann ja auch einen Bootloader
für den Z80 schreiben - was man realisieren muss ist ein Protokoll zur
Datenübertragung und ein Algorithmus zur Flash-Programmierung (egal auf
welchem Prozessortyp). Es ergibt sich nur ein Henne-Ei-Problem, denn
solange man den Bootloader nicht am laufen hat stochert man ziemlich im
Nebel herum. Grundsätzlich sehe ich nicht warum das mit Z80 schwieriger
sein soll als mit einem Atmel, aber das hängt natürlich von der
persönlichen Erfahrung ab. Wenn du Atmel Software mit links aus dem
Ärmel schüttelst, warum nicht.
Georg
Eric B. schrieb:> Quarks. Man braucht nur in jeder 64k-Bank die Bank-Switching-Routine an> der genau gleiche Adresse haben.
Aha - und wie rufst du ein Unterprogramm in einer Hochsprache, die die
Parameter wie üblich auf dem Stack übergibt, in einer anderen Bank auf?
Überhaupt, hast du in jeder Bank einen Stack oder wie?
Georg
Georg schrieb:> Eric B. schrieb:>> Quarks. Man braucht nur in jeder 64k-Bank die Bank-Switching-Routine an>> der genau gleiche Adresse haben.>> Aha - und wie rufst du ein Unterprogramm in einer Hochsprache, die die> Parameter wie üblich auf dem Stack übergibt, in einer anderen Bank auf?> Überhaupt, hast du in jeder Bank einen Stack oder wie?
(forehead slap) Klar, hast du Recht.
Ich hatte das mit den 2 64k Bänken mal in einem 8051-Projekt. Der hatte
aber getrennte Addressbereichen für RAM und ROM :-) Das Prinzip bleibt
aber stehen, man braucht nur irgendwo (ein paar kB im obersten
Addressbereich bietet sich an) ein bisschen RAM für Stack und co. Danach
gilt mein Kommentar unverändert.
EDIT: Ich meine natürlich, dass der RAM dann nicht gebankt werden
soll.
Georg schrieb:> Harald Nagy schrieb:>> Genau das war ja meine erste Idee, nur halt on-board. Was spricht denn>> dagegen?>> Nichts, ausser vielleicht dass man dazu nicht unbedingt einen Atmel oder> überhaupt einen 2. Prozessor braucht, man kann ja auch einen Bootloader> für den Z80 schreiben - was man realisieren muss ist ein Protokoll zur> Datenübertragung und ein Algorithmus zur Flash-Programmierung (egal auf> welchem Prozessortyp). Es ergibt sich nur ein Henne-Ei-Problem, denn> solange man den Bootloader nicht am laufen hat stochert man ziemlich im> Nebel herum. Grundsätzlich sehe ich nicht warum das mit Z80 schwieriger> sein soll als mit einem Atmel, aber das hängt natürlich von der> persönlichen Erfahrung ab. Wenn du Atmel Software mit links aus dem> Ärmel schüttelst, warum nicht.>> Georg
Und so hat sich die Diskussion hier ergeben ;-)
Der Atmega kam mir nur deshalb in den Sinn, weil ich da die meiste
Erfahrung habe und der Meinung bin, dass ich das schnell und
unkompliziert hinbekommen würde. Natürlich ist jeder andere genausogut
geeignet. Auch ein EPROM-Simulator wäre eine Idee. Nur leider habe ich
bis jetzt noch kein Selbstbau-Modell gefunden, dass keinen Parallel-Port
braucht...
Bis das Ur-ROM steht ist es halt etwas umständlich. Aber sobald das
geschafft ist scheint es mir ein ziemlich optimales System. Du wolltest
mir ja ein paar Codebeispiele und Schnipsel schicken zum Studieren.
Harald Nagy schrieb:> Das ganze möchte ich auf Lochraster mit Fädeldraht löten (ich weiss,> viel Arbeit, aber ich hoffe es zahlt sich am Ende aus...).
Lies dir unbedingt mal den durch, besonders hinsichtlich Fädeltechnik:
Beitrag "Retro Fieber: Z80 oder 68000 ?"
Christian wirkte jedenfalls anschliessend von Fädeltechnik kuriert.
Harald Nagy schrieb:> Holm Tiffe schrieb:>> Wenn Du was Sinvolles mit dem Atmel machen willst, baue einen einfachen>> Epromer für Eproms EEProms oder Flashroms, so lange man sich auf einen>> Typ beschränkt ist das verhältnismäßig easy. eine 32K Type ist eine>> vernünftige Größe für Z80 Sachen, da bekommt, man schon ein Vielfaches>> von dem unter was man braucht, inklusive CP/M vom Rom..>> Genau das war ja meine erste Idee, nur halt on-board. Was spricht denn> dagegen? Alles andere hat sich in dieser Diskussion ergeben...
Das Problem ist hier das halt recht viele Leute was wissen und jeder das
nach seiner eigenen Fasson durchziehen würde.
Die Atmel/Arduino Fraktion ist halt völlig von der Rolle wenn es um ein
Rechnerboard geht auf dem keiner drauf ist..
Ich halte es aber für völlig bebirnt einen moderneren schnelleren
Prozessor als Aushilfe für einen Historischen einzusetzen..
>> Und ja, ich tue mich noch schwer mit den Konzepten, was das Design> betrifft. Das sehe ich ja als Herausforderung und will es hinbekommen.> Am Ende soll halt schon ein Board herauskommen, das auch funktioniert.> Und genau deswegen lese ich, frage ich hier und überlege mir> verschiedene Herangehensweisen. Ich bin leider nicht in der glücklichen> Lage MIT diesen Konzepten aufgewachsen zu sein...
Dur sollest nochmal drüber nachdenken was Du wirklich möchtest.
IMHO reicht Dir eine Platine auf der in einem 29er ROM, von mir aus mit
Dipschaltern im Bereich umschaltbar, ein Bootloader steckt, der in der
Lage ist irgendwas von PC in den RAM zu fädeln und dort an zu springen.
Wenn das geht, kannst Du Alles andere mit Onboard mitteln machen.
Nimm aber bitte eine Z80-SIO, wegen dem IM2, diese wird üblicherweise
von einem CTC getaktet. Du kannst auch dieses KIO Zeuchs nehmen, kenne
ich aber nicht und braucht man auch nicht.
Eine Platine dieser Komplexität ist ohne Weiteres in Fädeltechnik zu
machen, Kämme habe ich aber niemals benutzt und über 8Mhz habe ich auch
nicht probiert was allerdings reicht. Textverarbeitung unter CP/M mit
Wordstar geht damit schneller als Word mit Windows und ein paar Ghz :-)
wenn wundert das?
Gruß,
Holm
Meine Rede. Ich will mir doch nur die Monitor-Entwicklung erleichtern.
Der Atmel soll dem Z80 auch nicht helfen sondern nur mein ROM
programmieren. Anstatt mein EEPROM, FLASH, whatever andauernd ein und
auszustöpseln würde ich halt einen Controller opfern.
Die Computerkonfiguration selbst soll nur CPU, CTC, PIO und SIO/4 (weil
PLCC) umfassen. Speicher natürlich auch. KIO ist ohnehin das selbe nur
halt in einem Chip inklusive Clockgenerator...
Nach dem Wochenende hab ich mehr Zeit mir Gedanken zu machen. Dann wirds
vlt nal konkret.
Harald Nagy schrieb:> Meine Rede. Ich will mir doch nur die Monitor-Entwicklung erleichtern.> Der Atmel soll dem Z80 auch nicht helfen sondern nur mein ROM> programmieren. Anstatt mein EEPROM, FLASH, whatever andauernd ein und> auszustöpseln würde ich halt einen Controller opfern.
Das ist relativ, wenn Du die 2. Version mit einem 8080 oder whatever
baust hast Du wieder das selbe Problem.
Ich hatte auch nicht umsonst 29xx gemeint (28 geht auch), damit kannst
Du später den Lader erweitern so das die Kiste sich selber programmieren
und updaten kann.
Gruß,
Holm
Harald Nagy schrieb:> Meine Rede. Ich will mir doch nur die Monitor-Entwicklung erleichtern.> Der Atmel soll dem Z80 auch nicht helfen sondern nur mein ROM> programmieren. Anstatt mein EEPROM, FLASH, whatever andauernd ein und> auszustöpseln würde ich halt einen Controller opfern.
Das geht wohl einfacher mit einem FT2232D:
http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT2232D.pdf
Lies Seite 44 Abschnitt 8.6 "MCU Host Bus Emulation Mode Signal
Descriptions and Interface Configuration". Du hast damit einen
8051-kompatiblen Adress-Daten-Bus, der mit einem HC573 demultiplext
wird.
fchk
Eine Möglichkeit wäre es. Aber erstens liegt so einer gerade nicht bei
mir herum und zweitens habe ich keine Lust auf SMD auf einer
Lochrasterplatine - weder frei verdrahtet noch auf DIP-Adapter.
So. Nun hab ich mal die Stromversorgung, Reset-Schaltung (MAX690) und
Clock Generator auf Breadboard aufgebaut und mal getestet.
Funktioniert alles soweit.
Allerdings zeigt mir das Oszilloskop nur eine Frequenz von ca 1.2 MHz am
Clock-Ausgang an. Leider besitze ich nur ein Billig-USB-Oszi aus
China... Kann es daran liegen? Oder liegt es am Breadboard-Aufbau? Was
sagt ihr zu der Clock-Generator-Schaltung im Anhang (übrigens in JPG
weil das PNG doppelt so groß ist ;-) )? Die Stützkondensatoren sind alle
vorhanden auch wenn nicht eingezeichnet...
Ich hab nämlich sämtliche Quarze durchprobiert die ich herumliegen habe
(1 bis 16 MHz) und das Ergebnis ist immer dasselbe. Aus Neugierde hab
ich auch einen 32kHz Uhrenquarz versucht, der schwingt allerdings nicht.
Weiters habe ich noch versucht:
- verändern der Kondensatoren und Widerstände
- verändern und weglassen des Pullups
- 74HC14 statt 74HC04
- weglassen jeweils eines Kondensators
Zusätzlich habe ich versucht, die Frequenz mit einem 74HC93
herunterzuteilen. Ging auch, aber hochgerechnet kommen halt immer die ca
1.2 MHz heraus.
Nachdem die Schaltung schwingt, soll ich einfach davon ausgehen, dass
wenn alles nett verdrahtet auf der Platine ist, die Frequenz schon
passen wird?
Erich schrieb:> Besser ist es, eine billige Platine aus'm Internet zu kaufen
Nein, das ist es nicht, denn davon lernt man ... nichts, vor allem
nichts, was den Hardwareaufbau angeht.
Rufus Τ. Firefly schrieb:> Erich schrieb:>> Besser ist es, eine billige Platine aus'm Internet zu kaufen>> Nein, das ist es nicht, denn davon lernt man ... nichts, vor allem> nichts, was den Hardwareaufbau angeht.
Ganz genau so seh ich das auch. Der Weg ist das Ziel. Auch wenn er sehr
steinig ist ;-)
Und nachdem hier keine größeren Einsprüche kommen nehme ich an dass ich
auf dem richtigen Weg bin.
Keine Ahnung. Aber es sind genug Schaltungen mit den beiden anderen
beschrieben. Und die Schaltung schwingt ja auch. Allein die gemessene
Frequenz kann ich mir nicht erklären.
Hallo
der Aufbau ist manchmal schwierig. Mit der Schaltung hatte ich schon
Probleme weil die Kapazität des Quarzes die Schaltung schwingen lässt,
aber nicht auf der Frequenz des Quarzes. 74HC4060 mit Quarz und Teilung
durch 2 gibt sicher einen sauberen Rechteck mit der richtigen Frequenz.
> Nein, das ist es nicht, denn davon lernt man ... nichts, vor allem> nichts, was den Hardwareaufbau angeht.
Ist theoretisch was dran an der Aussage.
ABER:
Mit der Geschwindigkeit wie ihr hier dazulernt, da ist der Z80 ruckzuck
bald 75 Jahre alt...
http://www.greensmilies.com/smile/smiley_emoticons_my2cents.gif
Gruss
Erich schrieb:>> Nein, das ist es nicht, denn davon lernt man ... nichts, vor allem>> nichts, was den Hardwareaufbau angeht.>> Ist theoretisch was dran an der Aussage.>> ABER:> Mit der Geschwindigkeit wie ihr hier dazulernt, da ist der Z80 ruckzuck> bald 75 Jahre alt...>> http://www.greensmilies.com/smile/smiley_emoticons_my2cents.gif>> Gruss
Ja und? Ich hab keinen Stress was mein Hobby betrifft.
karadur schrieb:> Hallo>> der Aufbau ist manchmal schwierig. Mit der Schaltung hatte ich schon> Probleme weil die Kapazität des Quarzes die Schaltung schwingen lässt,> aber nicht auf der Frequenz des Quarzes. 74HC4060 mit Quarz und Teilung> durch 2 gibt sicher einen sauberen Rechteck mit der richtigen Frequenz.
Hab ein wenig gegoogelt... Verstehe ich das richtig dass ich beim
74hc4060 mindestens eine Teilung der Frequenz durch 4 habe? Sprich bei
meinem Quarz höchstens ca 2 Mhz schaffe?
@ Harald Nagy (haraldn)
>Hab ein wenig gegoogelt... Verstehe ich das richtig dass ich beim>74hc4060 mindestens eine Teilung der Frequenz durch 4 habe?
Nö, 2^4=16 !
@ Harald Nagy (haraldn)
>Edit: wir waren beide falsch. Es gibt Q3, also Teiler 8.
Nö. Schau mal genau hin. Nach 8 Takten kommt der erste Pegelwechsel auf
Q3, nach 16 eine volle Periode.
Harald Nagy schrieb:> - 74HC14 statt 74HC04
Das funktioniert nicht. Dieser Quarzoszillator benötigt in den analogen
Bereich vorgespannte Gatter, was mit einem Schmitt-Trigger nicht
funktionieren kann. Wenn du schon diesen als Quarzmörder verschrienen
Oszillator nimmst, tun es am besten 74LS04. Und reduziere mal die 47k -
in den meisten Schaltungen, die man im Netz findet, sind diese
Widerstände in der Grössenordnung von 560R-2k2.
Da hast du unrecht. Bei Schaltungen im Netz is es entweder LS plus ca 4k
oder HC plus ca 40k.
Wenn es so etwas grundlegendes wäre würde das ganze gar nicht schwingen
oder?
aber ich kann ja mal schauen ob ich noch einen LS herumliegen habe.
Harald Nagy schrieb:> Das ganze möchte ich auf Lochraster mit Fädeldraht löten (ich weiss,> viel Arbeit, aber ich hoffe es zahlt sich am Ende aus...).
Da ich das alles schon hinter mir habe ..... wo soll der Zug hinfahren?
Z80 = CP/M? Was will man mit CP/M? Irgendwelche angestaubten Programme
einladen, auf einer Textkonsole herumklimpern? Für CP/M wird eine
bestimmte Hardware mit ROM/RAM Umschaltung verlangt, unterschätze nicht
die Arbeit ein CPM zu modifizieren, damit es läuft. Welche
Debugmöglichkeit soll es geben? Source Level Debuggung? Blinki-LED? Oder
eigener Monitor?
Es gibt fertige Lösung wie den N8VEM die man nachbauen kann.
Ich habe heute NVRAM drin, als ROM und als RAM. Alles ferngesteuert über
die RS232. EPROMs sehen zwar cooler aus aber die Brennerei nervt schon.
Plan schonmal sowas mit ein, ersetzt Tastatur und Monitor Hardware:
http://geoffg.net/terminal.html
Christian J. schrieb:> Da ich das alles schon hinter mir habe ..... wo soll der Zug hinfahren?> Z80 = CP/M? Was will man mit CP/M? Irgendwelche angestaubten Programme> einladen, auf einer Textkonsole herumklimpern? Für CP/M wird eine> bestimmte Hardware mit ROM/RAM Umschaltung verlangt, unterschätze nicht> die Arbeit ein CPM zu modifizieren, damit es läuft. Welche> Debugmöglichkeit soll es geben? Source Level Debuggung? Blinki-LED? Oder> eigener Monitor?>> Es gibt fertige Lösung wie den N8VEM die man nachbauen kann.>> Ich habe heute NVRAM drin, als ROM und als RAM. Alles ferngesteuert über> die RS232. EPROMs sehen zwar cooler aus aber die Brennerei nervt schon.>> Plan schonmal sowas mit ein, ersetzt Tastatur und Monitor Hardware:> http://geoffg.net/terminal.html
Kein CP/M. Keine Tastatur. Kein Monitor. Nur serielles Interface mit
eigenem Monitor und PIO zum Anschließend von Peripherie. Fertig. Vor
allem keine fertigen Lösungen...
Harald Nagy schrieb:> Kein CP/M. Keine Tastatur. Kein Monitor. Nur serielles Interface mit> eigenem Monitor und PIO zum Anschließend von Peripherie. Fertig. Vor> allem keine fertigen Lösungen...
Tja... gibt es auch schon .... sind aber so rund 500 Einzeldrähtchen die
man verlöten muss...
Meinen kennste ja sicher:
https://www.youtube.com/watch?v=gSVBFNCqYeQ
Harald Nagy schrieb:> Danke. Werd ich mir mal ansehen. Dein Projekt geht voran?
Ist fertig .... (bis auf die LED Matrix Ansteueurung) und deswegen mache
ich auch nix mehr dran. Der STM32F4 ist einfach .... besser :-)
Harald Nagy schrieb:> Cooles System.> Die Appnote hab ich schon in meiner Projektmappe..
Ok. Wollte mich hier auch nicht weiter reinhängen. Habe mein System hier
auch nach meinem Wunsch aufgebaut und mich dafür als lernresistent
beschimpfen lassen.
Nen paar Eckdaten sind allerdings hilfreich um nicht das Rad neu zu
erfinden.
- SDCC Compiler + Makefile statt verkrampftes Assembler Geschwurbel.
Der SDCC ist nicht "einfach" aber wenn man mit ihm umgehen kann das
beste Werkzeug. Ich spiele das Program im RAM ein, nutze in diesem
aber ROM Routinen als "Library", zb printf was viel Codesize erspart.
- mcurses lib von Frank M. als Kommunikationsinterface zum PC (minicom)
Läuft out of the box, sogar Kommandozeile und Hex Editor sind da.
- Ob man die CTC, SIO, PIO von Zilog verwendet sei frei, die meisten
Designs aber nehmen andere Bausteine wie 8255, 8254 und 68B50 als
Interface.
- Frühzeitig Gedanken übers Debugging machen! Ich nutze nur printf und
einen Hex Uploader + Bash Script, was mir das voll automtisiert und die
geany IDE unter Linux. Ein Kopfdruck und das Kompilat wird hochgeladen
und ausgeführt, man sieht sofort was auf dem Terminal passiert. Auch das
habe ich in einem Video beschrieben.
https://www.youtube.com/watch?v=PpTISqDCT0c
Viel Spass!
Christian J. schrieb:> Harald Nagy schrieb:>> Cooles System.>> Die Appnote hab ich schon in meiner Projektmappe..>> Ok. Wollte mich hier auch nicht weiter reinhängen. Habe mein System hier> auch nach meinem Wunsch aufgebaut und mich dafür als lernresistent> beschimpfen lassen.
...und es bereut nicht auf die Ratschläge gehört zu haben.
:-)
>> Nen paar Eckdaten sind allerdings hilfreich um nicht das Rad neu zu> erfinden.>> - SDCC Compiler + Makefile statt verkrampftes Assembler Geschwurbel.> Der SDCC ist nicht "einfach" aber wenn man mit ihm umgehen kann das> beste Werkzeug. Ich spiele das Program im RAM ein, nutze in diesem> aber ROM Routinen als "Libryry", was viel Codesize erspart.
Christian das ist wieder ziemlicher Dünnschiß.
Der ganze Compiler und auch ie Bibliotheken bestehen aus
Assemblergeschwurbel, die Tatsache das Dir das zu kompliziert erscheint
macht das noch nicht zu Geschwurbel, schreib einfach das Du zu dumm oder
zu faul bist, das trifft es wohl besser.
>> - mcurses lib von Frank M. als Kommunikationsinterface zum PC (minicom)> Läuft out of the box, sogar Kommandozeile und Hex Editor sind da.>> - Ob man die CTC, SIO, PIO von Zilog verwendet sei frei, die meisten> Designs aber nehmen andere Bausteine wie 8255, 8254 und 68B50 als> Interface.
Totaler Unfug, genau andersherum wird ein Schuh draus. Deine
Strukturgurke ist weit entfernt von "die meisten" und die Meisten Leute
bekommen die Funktionalität die Du implmentiert hast auch in Assembler
in weitaus kleineren Programmen gebacken.
Bitte halte Dich mit Deinen Ansichten die schon Dir selbst Probleme
gemacht haben zurück wenn Du sie jetzt auch noch als Ratschlag
verteilst.
Sorry, mußte sein.
Holm
Naja ich finde Assembler ist Pflicht. Ebenso die Verwendung der Zilog
Bausteine, vor allem weil vorhanden und dafür gemacht.
Debugging über serial ist ok. Welcher Art ist offen und wird im Monitor
implementiert welcher wiederum nicht starr ist sondern optimiert werden
kann.
Ich finde es sehr schade dass in diesem Thread wenig konstruktives
kommt. Aber ich werds schon selbst lösen... Aber danke für die
konstruktiven Beiträge und Denkanstöße.
Holm Tiffe schrieb:> Der ganze Compiler und auch ie Bibliotheken bestehen aus> Assemblergeschwurbel, die Tatsache das Dir das zu kompliziert erscheint> macht das noch nicht zu Geschwurbel, schreib einfach das Du zu dumm oder> zu faul bist, das trifft es wohl besser.
Komm... fang mir nicht wieder mit diesem
"Früher-war-alles-besser-Assembler Geschwafel" an. Bring damit deine LED
zum blinken, freu Dich zwei 16 Bit Zahlen multipliziert zu haben
(Braucht der Zaks 10 Seiten für das zu erklären wofuer ein Zeichen
brauchen...nämlich "*"), brauch 5 Tage für etwas wofür ich nicht mal
einen 1/2 brauche und gut ist es.
Die meisten Designs verzichten auf Zilog Bausteine, das ist einfach so.
Punkt.
>>Bitte halte Dich mit Deinen Ansichten die schon Dir selbst Probleme>>gemacht haben zurück wenn Du sie jetzt auch noch als Ratschlag>>verteilst.
Ich nehme mir das Recht eine eigene Meinung zu dem Thema zu haben. Auch
wenn Dir das nicht passt :-) Amen.
Harald Nagy schrieb:> * 128kx8 FLASH (über DIP-Switch aufgeteilt in 4 32k-Seiten oder 16> 8k-Seiten) und Rest SRAM
Wo du eine Mindestform von MMU offenbar auf der Rechnung hast, schau dir
mal den 74HC670 an. Gibt frei wählbare 16KB Pages für einen 256KB
Gesamtadressraum. Die weit und breit einfachste MMU unterhalb CPLD.
Christian J. schrieb:> Die meisten Designs verzichten auf Zilog Bausteine, das ist einfach so.> Punkt.
Herrje, ich bin bei deinem Thread das erste Mal in 35 Jahren überhaupt
auf ein 8080/Z80 Design gestossen, das den 6850 verwendet. Der einzige
68xx Baustein, der sich grosser Beliebtheit erfreute, war der 6845. Du
warst bisher auch der einzige, der den Z80-SIO als zu komplex
aussortierte, jeder andere fand den bisher knorke.
Wenn es heute, 35 Jahre nach der grossen Zeit des Z80, wirklich etliche
Leute geben sollte, die den SIO zu kompliziert finden, dann spräche das
nicht gegen den SIO, sondern gegen die Zeit.
A. K. schrieb:> Wo du eine Mindestform von MMU offenbar auf der Rechnung hast, schau dir> mal den 74HC670 an. Gibt frei wählbare 16KB Pages für einen 256KB> Gesamtadressraum. Die weit und breit einfachste MMU unterhalb CPLD.
Ich würde sagen, der TS ist noch in der Phase der Planung. Und da
empfiehlt es sich zuerst eine Spezifikation zu schreiben, schön als Word
Text mit Bildchen wohin er eigentlich will, denn nachher lässt sich
nichts mehr ändern in einem Fädelaufbau.
Wenn es "nur" ein Demo Rechner sein soll, der nachher an der Wand hängt,
so wie meiner und irgendwas leuchtet dann ist das etwas anderes als wenn
er nachher wirklich CPM laufen lassen will oder ein erweiterbares System
haben will. Und als "Steuerrechner", der ein paar Relais klimpert ist
das schon zu aufgebohrt.
A. K. schrieb:> Wenn es heute, 35 Jahre nach der grossen Zeit des Z80, wirklich etliche> Leute geben sollte, die den SIO zu kompliziert finden, dann spräche das> nicht gegen den SIO, sondern gegen die Zeit.
Es gibt durchaus Lernerfolge, einer daovn war dass ich den MK3801 hätte
weglassen sollen und lieber eine SIO und dass das ROM wegwschaltbar
hätte sein sollen.... und kompliziert ist die nicht.... da gibt der M4
Cortex schon mehr her.
Harald Nagy schrieb:> Allerdings zeigt mir das Oszilloskop nur eine Frequenz von ca 1.2 MHz am> Clock-Ausgang an. Leider besitze ich nur ein Billig-USB-Oszi aus> China... Kann es daran liegen? Oder liegt es am Breadboard-Aufbau? Was> sagt ihr zu der Clock-Generator-Schaltung im Anhang
Wo ist in Deiner Schaltung die zweite Lastkapazität? Der Eingang eines
74HC04 dürfte da zu wenig sein.
http://www.elektronik-magazin.de/res/images/entry/3/image/quarz-oszil-schaltung.gif
Mit freundlichen Grüßen - Martin
Rufus Τ. Firefly schrieb:> O nein. "Fädelkämme".
Du fährst ja auch auf einer Autobahn nach München und nicht querfeldein
durch die Pampa. Alles schön seine preussische Ordung ... im
Gleichschritt Marsch meine Bits, rechts um.... links....
Christian J. schrieb:> Du fährst ja auch auf einer Autobahn nach München und nicht querfeldein> durch die Pampa.
Das HF-Verhalten von gefädelten Schaltungen, die auf diese Dinger
verzichten, ist erfahrungsgemäß erheblich besser.
Ich muss wohl doch meine alte 68020-Platine mal 'rauskramen und
ablichten.
Christian J. schrieb:> denn nachher lässt sich> nichts mehr ändern in einem Fädelaufbau.
Bei Deiner Webtechnik mit Fädelkämmen vielleicht. Ansonsten ist das
gerade der größte Vorteil von Fädeltechnik, daß man alles leicht ändern
und erweitern kann.
Was wird es denn letzlich? Eine Demo Geschichte für den Schrank oder
eine echte Steuerung? Diese RAM bank Geschichte ist nicht ganz ohne,
bei einem Compiler würde es Ärger geben, weil der damit nicht umgehen
kann. Es gibt aber auch ein Linux System von Alan Cox, der braucht
Banking.
Martin Schlüter schrieb:> Harald Nagy schrieb:>> Allerdings zeigt mir das Oszilloskop nur eine Frequenz von ca 1.2 MHz am>> Clock-Ausgang an. Leider besitze ich nur ein Billig-USB-Oszi aus>> China... Kann es daran liegen? Oder liegt es am Breadboard-Aufbau? Was>> sagt ihr zu der Clock-Generator-Schaltung im Anhang>> Wo ist in Deiner Schaltung die zweite Lastkapazität? Der Eingang eines> 74HC04 dürfte da zu wenig sein.>> http://www.elektronik-magazin.de/res/images/entry/3/image/quarz-oszil-schaltung.gif>> Mit freundlichen Grüßen - Martin
Das sehe ich auch als Problem an. Der Oszillator schwingt als RC
Oszillator
mit der Kapazität über dem Quarz. an den Eingang gehört ein 2. C als
Spannungsteiler.
Gruß,
Holm
Christian J. schrieb:> A. K. schrieb:>>> Wenn es heute, 35 Jahre nach der grossen Zeit des Z80, wirklich etliche>> Leute geben sollte, die den SIO zu kompliziert finden, dann spräche das>> nicht gegen den SIO, sondern gegen die Zeit.>> Es gibt durchaus Lernerfolge, einer daovn war dass ich den MK3801 hätte> weglassen sollen und lieber eine SIO und dass das ROM wegwschaltbar> hätte sein sollen.... und kompliziert ist die nicht.... da gibt der M4> Cortex schon mehr her.
Soso. Christian, falls Du es noch nicht bemerkt hast: Hier redet niemand
über ARM Prozessoren, auch nicht über Mips oder Power.
Deine Aussage das die SIO nicht zu kompliziert ist kann ich problemlos
widerlegen, durch ein Zitat eines Deiner eigenen Postings übrigens, bist
Du so nett uns suchst es selbst?
WasDu bei Deinen Experimenten nicht bemerkt hast ist di Tatsache das man
deutlich weniger Hardware benötigt als Du da zusammengestrickt hast umd
ein CP/M laufen zu lassen. Da Einzige was dazu notwendig ist ist die
Überlegung vor dem Bau.
Ich schrieb auch nicht das früher Alles besser war, ich schrieb das Du
verschiedene Sachen nicht begriffen hast aber nun darüber Vorträge
hältst.
Wie viele Z80 Syseme hast Du in Nartura erlebt um darüber entscheiden zu
können ob die meisten die Zilog Systembausteine verwenden oder nicht?
Ich denke mal du reflektierst auf Grants Webseite, der ist aber nicht
"die Meisten".
Gruß,
Holm
Christian J. schrieb:> Rufus Τ. Firefly schrieb:>>> O nein. "Fädelkämme".>> Du fährst ja auch auf einer Autobahn nach München und nicht querfeldein> durch die Pampa. Alles schön seine preussische Ordung ... im> Gleichschritt Marsch meine Bits, rechts um.... links....
Hmm. Da hast also eine Z80 Autobahn gebaut?
Die Fädelkämme wurden schon in "Deinem Thread" abgehandelt, die sehen
ordentlich aus, aber haben sonst nur Nachteile wie hohe parqasitäre
Kapazitäten und fast ausgeschlossene Änderungen .. wie Du schon
feststellen durftest.
Gruß,
Holm
Harald Nagy schrieb:> Naja ausser dem Speicher steht mein Design. ..
Mach mal langsam Harald. Wir reden vorher drüber.
Hier gibts genug Leute die Z80 Systeme aus dem FF kennen, Du must ja
Christians Fehler nicht unbedingt wiederholen.
Gruß,
Holm
Ähm, könntet ihr bitte die Kampfdiskussionen außen vor lassen? Es wäre
mir sehr recht wenn dieser Thread nicht durch Glaubensfragen aufgeblasen
wird.
Jedemfalls hab ich jetzt mehr oder weniger eine Woche nur zeit für
Theorie...
Hallo
soweit ich mich erinnere brauchst du einen Teiler nach dem Oszillator um
ein Tastverhältnis von 50% zu bekommen.
Ich würde einen fertigen Oszillator nehmen dann passt auch das
Tastverhältnis.
Nachdem ich die schaltung von einem funktionierem System abgekupfert
habe gehe ich davon aus dass sie funktionieren sollte. Aber ich werde
eure Vorschläge ausprobieren.
Harald Nagy schrieb:> Ähm, könntet ihr bitte die Kampfdiskussionen außen vor lassen?
Nun ja...... jedesmal wenn in einem Betreff "Z80" auftaucht springen
rote Lampen bei einigen hier an. Bedenke, dass Du hier einen heiligen
Gral anrührst, es ist nicht eine CPU, es ist "DIE CPU". Aber ok..... ich
knuddel den Holm dann mal und halte mich hier ganz zurück :-)
>>aber haben sonst nur Nachteile wie hohe parqasitäre>>Kapazitäten und fast ausgeschlossene Änderungen .. wie Du schon>>feststellen durftest.
Haben sie, haben sie..... aber das Auge isst mit. Eigentlich haben sie
gar keine technischen Vorteile.
Christian J. schrieb:> Diese RAM bank Geschichte ist nicht ganz ohne,> bei einem Compiler würde es Ärger geben, weil der damit nicht umgehen> kann.
Gilt nur für Leute, die nicht selber programmieren können und alles dem
Compiler überlassen (müssen).
Georg
karadur schrieb:> fertigen Oszillator
Eine gute Alternative ist ein HC4060 mit einem passend ungeradem Quarz
(9.83MHz als Beispiel). Der wirft dann auch gleich den Baudraten Takt
für die SIO aus.
Warum wird Christian hier so niedergemacht?
Er hat ja immerhin ein funktionierendes System mit der Z80 CPU und auch
einige Peripherie hinbekommen. Ich dachte auch mal, dass ich es
hinbekomme, so ein System selbst zu bauen, habe es aber leider nie
wirklich durchgezogen bzw fertig gebracht. Vermutlich hatte ich auch
nicht die Geduld und Ausdauer dazu. Wenn man sich die Reaktionen
durchliest, traut man sich ja wirklich keinen eigenen Thread auf zu
machen, um mal was vorzustellen.
Harald Nagy schrieb:> Aber bitte schenkt euch die Kommentare warum ich das mache...
Dabei wäre das das einzig spannende...
Der Rest ist völlig uninteressant, trivial und, last but not least,
völlig irrelevant im Jahr 2015.
Es macht aber Spaß. Ich habe jedenfalls die Grundlagen damit gut
verstanden. Und damals hat mein Z80 mit 8MHz, Epromfloppy und Ramfloppy
jeden PC abgehängt. Was ich immer noch vermisse: der Eingabeprompt
wartete schon ungeduldig bevor die Bildröhre warm war.
Toll waren auch die 8" Laufwerke mit 243 KB.
c-hater schrieb:> Harald Nagy schrieb:>>> Aber bitte schenkt euch die Kommentare warum ich das mache...>> Dabei wäre das das einzig spannende...>> Der Rest ist völlig uninteressant, trivial und, last but not least,> völlig irrelevant im Jahr 2015.
Nicht du schon wieder....
c-hater schrieb:> Der Rest ist völlig uninteressant, trivial und, last but not least,> völlig irrelevant im Jahr 2015.
Warum kannst du dann nicht einfach mal ... deinen Senf für dich
behalten?
Benjamin K. schrieb:> Warum wird Christian hier so niedergemacht?> Er hat ja immerhin ein funktionierendes System mit der Z80 CPU und auch> einige Peripherie hinbekommen. Ich dachte auch mal, dass ich es> hinbekomme, so ein System selbst zu bauen, habe es aber leider nie> wirklich durchgezogen bzw fertig gebracht. Vermutlich hatte ich auch> nicht die Geduld und Ausdauer dazu. Wenn man sich die Reaktionen> durchliest, traut man sich ja wirklich keinen eigenen Thread auf zu> machen, um mal was vorzustellen.
Ich will Christian nicht niedermachen. Wenn das so rübergekommen ist
dann sorry...
Benjamin K. schrieb:> Warum wird Christian hier so niedergemacht?> Er hat ja immerhin ein funktionierendes System mit der Z80 CPU und auch> einige Peripherie hinbekommen.
Weil er jeden Fehler im Buch gemacht hat, Ratschläge erstmal
grundsätzlich ignoriert hat, und sich danach beschwert hat, dass alles
so kompliziert ist (und das jetzt zum Besten gibt).
Lies dir mal seinen Thread durch und achte insbesondere auf die
Zeitabstände zwischen dem "ich will XX machen"/"das ist eine doofe Idee,
mach lieber YY", und der Einsicht "herrje, ist YY kompliziert, hätte ich
mal XX gemacht". Dann verstehst du die Reaktionen (auch seine) hier.
Das ist ähnlich wie bei Moby oder c-hater. Selbst, wenn sie recht hätten
(was sogar vorkommt), glaubt ihnen niemand mehr, weil sie sich durch
ihre Trollerei selbst so dermaßen ins Aus geschossen haben. Ist mit
Christian und Z80 ähnlich. "Wer einmal lügt..."
Aber erst Unsinn zu erzählen und dann Popcorn bereitzustellen ist
irgendwie schon die Definition von Troll. Nungut, mach' dir selbst ein
Bild.
> Wenn man sich die Reaktionen durchliest, traut man sich ja wirklich> keinen eigenen Thread auf zu machen, um mal was vorzustellen.
Wenn man entweder zeigt, dass man entweder seine Hausaufgaben gemacht
hat, oder zumindest zuhören, verstehen und lernen will, dann
funktioniert das hier ganz wunderbar. Die Threads driften zwar trotzdem
ab, aber damit muss man leben können. Der Z80 ist nun doch nicht mehr
ganz taufrisch und die meisten Hinweise kommen aus den staubigen
Erinnerungskisten - da kommen auch Anekdoten und falsche Hinweise bei
raus. Aber die wichtigen Antworten, Tipps und Ideen bekommt man. Darauf
kommt es an.
Ich habe hier für mein Z80-Projekt kompetente Hilfe (und auch
Ermunterung!, neben dem Getrolle) bekommen. Das System, wie ich es (u.a.
nach den Hinweisen von hier) aufgebaut hatte, funktioniert prima. Es war
im Prinzip so aufgebaut wie das, was Harald vor hat (also mit AVR als
Boardcontroller, der erst den RAM befüllt und danach den Z80 loslaufen
lässt). Und mit den Erfahrungen davon baue ich als nächsten Schritt die
finale Version, die etwas "klassischer" aussieht und ohne AVR auskommt.
Dumme Entscheidungen treffen ist leicht (ich habe den AVR per I2C
angebunden - der Bootvorgang war nicht besonders schnell). Es trotzdem
zum Laufen zu kriegen ist trotzdem schön. Aber daraus zu lernen und es
dann nochmal richtig zu machen, ist die wirkliche Kür.
Mit STM32 und SAM3X habe ich so schon genug zu tun.
Ich klink mich hier dann auch mal aus. Die üblichen Prediger und Inhaber
der Foren Lufthoheit haben sich ja schon aufs Stichwort eingefunden. Die
werden Dir schon sagen wie Du es nach ihren Vorstellungen zu machen
hast. Hauptsache es funktioniert bei mir alles, alles andere kann mir
auch egal sein.
Christian J. schrieb:> Ich klink mich hier dann auch mal aus. Die üblichen Prediger und> Inhaber> der Foren Lufthoheit haben sich ja schon aufs Stichwort eingefunden. Die> werden Dir schon sagen wie Du es nach ihren Vorstellungen zu machen> hast. Hauptsache es funktioniert bei mir alles, alles andere kann mir> auch egal sein.
Du bist schon ziemlich frech und undankbar.
Der Vorteil derartiger Foren ist ja zum Glück dass man das für sich
Sinnvolle extrahieren und den Rest ignorieren kann...
Der Ton einiger Teilnehmer hier im Forum ist ja hinlänglich bekannt ;-)
Hallo Freunde,
hier mal eine Platine aus den frühen 1990ern.
Lithium-Batterie fehlt.
Ram ist abgesteckt damit man druntersehen kann.
1488 / 1489 sind gebrückt ; weil TTL und externe Iso-Übertragung.
HD61830 + Ram war für LCD Grafikdisplays, z.B. 128x240 Pixel
(einfarbig).
Ja, es stimmt: Christian J. (hobel) ist beratungsresistent.
Gruss
Ich habe eine Platine mit 4Mhz U880 auf der eine "MMU" mit einem TTL RAM
eingetzt wird wie ich es schon mal beschrieben hatte. Hersteller war VEB
Elektronik Gera.
Auf der Platine 170x215mm gibts 1xCPU,1xPIO,1xCTC,1xSIO, 4x8KROM und 64K
DRAM. IMHO läßt sich der Speicher 4 Kilobyteweise verwalten. Der RAM ist
ein 7489, ein S-Typ wäre für höhere Geschwindigkeiten sicher besser,
allerdings sind auch die Speicher deutlich schneller als früher. Ich
denke nicht das es solche RAMs als CMOS gibt..gibts die? (16*4 Bit)
Interessiert die die Schaltung der MMU aka Speicherverwaltung Harald?
Dann zeichne ich die mal raus, Unterlagen habe ich aber das ist
dunkelbraun auf hellbraun, eine Lichtpause. Erfahrungsgemäß ist da Kopie
oder Scanner eher schwierig..
Gruß,
Holm
http://www.jupiter-ace.co.uk/ace_schematic.html
Das ist ein sehr reduzierter Ansatz.
Der Jupiter Ace war Anfang der 80er Jahre ein sehr exotischer
Homecomputer und verschwand auch sehr schnell wieder vom Markt. Seinem
Zeitgenossen, dem ZX81 gegenüber hatte er den Vorzug der etwas besseren
(Gummi-)Tastatur und der Bildschirmansteuerung komplett in Hardware.
Exotisch war er, weil er einen Forth-Interpreter im ROM hatte, also
nicht wie andere Homecomputer mit einem Basic-Dialekt daherkam.
Dafür war im (ziemlich kompakten) Handbuch fast alles relevante zum
Gerät dokumentiert, natürlich fehlten Schaltpläne und das ROM-Listing,
aber alles andere, der Forthinterpreter und die Hardwareschnittstellen
waren ausreichend gut beschrieben.
Hi,
> ja das wäre echt nett von dir! Ich will mir möglichst viele Designs> ansehen um dann das Richtige für mich herauszufinden.
dann hänge ich auch mal meine Pläne an.
Das erste System habe ich so wie im Schaltplan aufgebaut. Der AVR dient
als Board-Controller und übernimmt zuerst die Buskontrolle, um dem Z80
gültige Daten in den RAM zu legen. Außerdem dient er als serielle
Schnittstelle zur Außenwelt, als ziemlich langsame (wegen I²C)
ROM-Floppy und stellt den Takt (einstellbar) für den Z80 bereit. CP/M
läuft. Als RAM dient ein 32k-SRAM, welches direkt am Bus hängt (aber via
Steckkarte). Der Interruptlogik fehlt ein Latch; wenn mehrere IRQs
quasi-gleichzeitig feuern, wird u.U. ein falscher Interrupt gemeldet.
Das zweite System ist meine derzeitige Planung, und noch nicht
aufgebaut. Eine MMU auf Basis des 74LS612 stellt 1 MB Adressraum in 4
KB-Pages bereit, gefüllt mit 256 KB Flash und 768 KB DRAM in 3 Bänken.
Interrupt- und Adressierungslogik für den Bus wird dann auf eine zweite
Steckkarte ausgelagert.
Eine vorherige Planung enthielt eine MMU auf Basis vom 74LS189, ähnlich
wie die von Holm gezeigte. Allerdings sind beide Chips nur schwer zu
bekommen, und ein 74LS612 vereinfacht das Design deutlich (nur 2 ICs für
die MMU).
Gruß,
Svenska
Die SIO ist nicht kompliziert.
Anbei ein Monitor, wie er bei mir läuft.
XTAL ist 2 MHz, die beiden SIOs sind über den CTC mit Takt versorgt und
laufen auf 9600. Wenn man den Quarz auf 8MHz austauscht, bekommt man
also 38400 Baud; die CMOS-Versionen von Z80 und Peripherie können das
ab.
Programmspeicher ist 29F-EEprom mit 128kB, über einen BCD-Schalter sind
die Programme auswählbar. Das gehört noch zum echten Stil, behaupte ich
einfach mal, weil Eprom-Löschen wirklich blöd ist.
Das Projekt hatte ich vor 1.5 Jahren angefangen, weil ich noch eine
Rechnung mit der SIO aus dem Jahr 198x offen hatte.
Inzwischen habe ich das meiste wieder vergessen, was die Hardware auf
dem Board von 198x und diesem neuen Board angeht.
Was eventuell zu denken geben könnte.
Bei mir war es allerdings von vornherein ein Projekt für die Schublade
... Hauptsache, es läuft g
Den Crossassembler von Mnemonics auf Maschinensprache habe ich selbst
geschrieben, von daher werden die Steuerzeichen nicht für andere
Assembler passen.
Das LCD wird im 4-bit-Modus angesteuert.
Dann auch von mir ein Beispiel. Es ist ein System mit Flash, 64k RAM,
SIO und einem IDE Interface (32MB Flash Modul für € 2.- von Pollin).
CP/M läuft darauf.
Der Aufbau ist etwas abenteuerlich, weil alles so historisch gewachsen
ist. Ursprünglich war es eine Platine mit 32k Eprom, 32k RAM und einem
1200Bd Modem (für die Experten: TNC2C). Als hier die Diskussion los
ging, habe ich die Platine mal an einem Wochenende modifiziert, just for
fun. Es ist erstaunlich, wie fix diese Hardware aus der Steinzeit ist.
Falls es jemand möchte: Den Schaltplan gibt es auch als Eagle-4 File,
alle Quelltexte für die CP/M Anpassung gibt es auch. Email genügt.
Die Cross Software (C-Compiler, Assembler, Linker, Locater, Librarian)
gibt es für Windows. Für CP/M findet man alles reichlich im Netz.
@avus: Die SIO ist schon kompliziert, sie ist komplexer als die CPU,
allerdings wird es erst kompliziert wenn man mehr als simple asynchrone
Übertragung von ihr will.. :-)
Ok,
Ich hebele mal ein Bisschen Text aus der Doku zur oben angegebenen MMU
ab, schade das das indessen so weit hoch gerutscht ist.
U2 gehört im engeren Sinne gar nicht dazu sondern ist der
IO-Adreßdecoder den man in irgend einer Form sowieso braucht, der hing
aber halt "mit dran".
U9 (74LS540) wird nur benötigt wenn man den 7489 zurücklesen möchte,
funktionsrelevant ist er nicht. Allerdings können über die freien 4 Bits
noch irgendwelche Baudratenschalter etc. eingelesen werden.
Zitat:
Zur teuerung der Arbeit der Speicher auf der Karte sowie evtl. externer
Speichereinheiten, wie RAM-Disk, EPROM-Disks u.ä. ist es notwendig, den
Speicherraum durch entsprechende Steuervorgänge zu verwalten. Die CPU
U880 ist in der Lage, ,aximal 64KByte Speiher direkt anzusteuern.Allein
auf der Karte GRE stehen aber 64Kbyte RAM und je nach verwendetem EPROM
Typ 8,16,32, oder 64KByte EPROM zur Verfügung. Nach Power On Reset bzw.
externem Reset wird über L Pegel an U4/1 der Grundzustand auf der Karte
erreicht. Dies bedeutet das die Ausgänge des negierenden IC U5 alle auf
H Pegel liegen und somit durch en TTL Prom (dieser Decoder ist nicht auf
dem Bild) die Speicherarbeit so gesteuert wird, das im Gesamtadressraum
gilt:
"EPROM lesen, RAM schreiben". Dies bietet die Möglichkeit z.B. den
Inhalt der EPROMs in RAM Zellen der gleichen Adresse um zu laden.
Nach jedem Programmanlauf muß nun der adressierbare Speicherraum von 64K
in 16 Segmenten zu je 4K-Byte in der Arbeitsweise definiert werden.
Für jedes Segment ist festzulegen ob hier GRE-RAM, GRE-ROM oder kein
GRE-interner Speicher aktiv sein soll. Weiterhin werden im gleicher
Programmiervorgang die Signale MEMDI1 und MEMDI2 (Speichersperrsignale
für Karten-Externen Memory) für jedes Segment festgelegt. Das
Einschreiben der 16 Segmentinformationen erfolgt über einen IO-Befehl
auf eine 16 Bit Adresse. Die Steuerinformation ist nun folgendermaßen zu
bilden:
Zur Ausgabe der Steuerinformation kann mit 2 Befehlstypen gearbeitet
werden.
Steuerinformation -> Akku
OUT (8CH) -> Akku
oder
Steuerinformation -> Register B
8CH -> Register C
OUT (C),r
Weiterhin ist es möglich, durch folgende E/A Befehle die Arbeit der MMU
zu beeinflussen:
E/A Befehl an 8CH: Einschreiben in Segmentregister
8DH: Freigabe der SEG-Register Informationen
8EH: Sperren der SEG-Register Informationen
8FH: Rücklesen der SEG- Register Informationen
sowie der 4 frei benutzbaren Leitungen U9, 6,7,8,9.
IO-Decoder:
80..83H CTC
84..87H PIO
88..8BH SIO
8C..8FH MMU
...so, keinen Bock mehr zum abhebeln..
Wenn Dich der Inhalt des TTL ROMs als Decoder auch noch interessiert
dann gib Bescheid.
Gruß,
Holm
Holm Tiffe schrieb:> Die SIO ist schon kompliziert
Wenn du die SIO als komplex einstufst, wie ist es dann mit dem SCC
Z8530? DA kann man sich die Ohren brechen.
Georg G. schrieb:> Der Aufbau ist etwas abenteuerlich, weil alles so historisch gewachsen> ist. Ursprünglich war es eine Platine mit 32k Eprom, 32k RAM und einem> 1200Bd Modem
Wirklich nette Idee den TNC einer Weiterverwendung zuzuführen.
@Harald
Aus meiner Sicht ein wirklich guter Ansatz um mit geringem Aufwand einen
Einstieg zu finden.
Der grafische Taschenrechner TI85 hat einen Z80 Kern. Den hatten wir als
Studenten mal gehackt. Da hast du gleich eine Tastatur und ein Display.
Grobeinstieg:
http://www.ticalc.org/basics/calculators/ti-85.html
@Georg: Die Einstufung stammte nicht von mir, und das sie mehr
Transistoren enthält als die CPU ist bekannt.
@Svenska: Bin das nur ich der auf Deinem Bilder gar Nix erkennen kann?
Bei der Besorgung dieser TTL RAMs ist es manchmal hilfreich über den
Tellerrand zu gucken und z.B. einen K155RU2 aus russischer Produktion zu
verwenden. Das Ding gibts für 23 Cent, Harald weiß wo.
Ich habe aber falls Jemand Bedarf für Sowas haben sollte auch noch
einige TESLA MH7489 da..
Gruß,
Holm
Georg G. schrieb:> wie ist es dann mit dem SCC Z8530? DA kann man sich die Ohren brechen.
Damals sah man das auch grad andersrum. Nicht Simplizität war angesagt,
sondern Komplexität. Der Z8036/8536 Parallelport/Timer war die
sprichwörtliche Eierlegende Wollmilchsau.
Und wo Intel mit den Slave-µC 8042 (als PC-Tastaturcontroller berühmt
geworden) grad mal ein simples bidirektionales Register für
Kommunikation zwischen Host und µC hinrotzte erfand Zilog beim Z809x
sorgfältig kontrollierte Dual-Port-Register, DMA-Zugriff und
Software-Bootloading.
Ich kenne auch niemanden, der das damals kritisierte. Im Gegenteil. Nach
deutlich zu simpel geratenen Bausteinen wie dem 8255 war man froh über
die gewonnenen Möglichkeiten.
Hallo!
War gerade kurz zuhause. Bauteilecheck.... Hab leider keinen 74Hc4060
da. Nachdem ich für dieses Projekt nichts bestellen will, kennt jemand
alternativen?
Wir wissen ja nicht, was Du an Bauteilen vorrätig hast ...
Ich würd' ja einfach einen fertigen Quarzoszillator verwenden, so etwas
sollte sich irgendwo ausschlachten lassen.
Harald Nagy schrieb:> Hab leider keinen 74Hc4060> da. Nachdem ich für dieses Projekt nichts bestellen will, kennt jemand> alternativen?
Wenn du dir zutraust, den Oszillator selber zu bauen, sind der 4020 und
der 4040 auch lange Ripple Zähler.
Wenn du in der Exotenkiste einen 74AS867 findest, das ist ein 8-Bit
Synchronzähler. Oder CD4520...
Holm Tiffe schrieb:> @Svenska: Bin das nur ich der auf Deinem Bilder gar Nix erkennen kann?
Ich finde die eigentlich ganz gut lesbar, wenn ich sie mir in
Normalgröße anschaue. Also im neuen Tab öffne, per Mittelklick.
> Bei der Besorgung dieser TTL RAMs ist es manchmal hilfreich über den> Tellerrand zu gucken und z.B. einen K155RU2 aus russischer Produktion zu> verwenden. Das Ding gibts für 23 Cent, Harald weiß wo.
Das war mir bei der Planung nicht bewusst. Ich war bei Segor im Laden
und die hatten die nicht mehr da, weder 'LS89, 'LS189 noch 'LS289.
Daraufhin hatte ich die Idee dann verworfen und mir später einen 74LS612
für 3,50$ plus Versand bei eBay geschossen (und gleich noch 16C550 und
TMS9929 dazu).
Konrad S. schrieb:> S. R. schrieb:>> und ein 74LS612 vereinfacht das Design deutlich> Einen habe ich noch 'rumliegen. Den könnte ich dir anbieten.
Ach verdammt, zu spät. ;-)
Ich komme darauf zurück, wenn meiner nicht funktioniert.
Gruß,
Svenska