Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » U857 inkompatibel zum Z80-CTC? » Themenansicht

Autor Thread - Seiten: -1-
000
04.09.2013, 18:45 Uhr
holm

Avatar von holm

Mein Kumpel Jörg schrieb im Mikrocontroller Forum das hier:

(http://www.mikrocontroller.net/topic/284694?goto=3307585)

>Es gibt noch einen weiteren Beweis, dass diese Teile gang und gäbe
>waren: der U857 hatte einen Hardwarebug, den der originale Z80-CTC
>nicht hatte. Der Z80 legt ja bei der Interruptannahme sowohl /M1 als
>auch /IORQ an. Je nachdem, welche Adresse gerade ausgegeben worden
>ist, griff die Chipselect-Logik des IO-Adressdecoders, und der U857
>wurde u. U. dadurch adressiert, wobei er dann das /M1 nicht beachtet
>hat. Das gab natürlich zufällig dann irgendwann unerklärliche
>Abstürze. Ich habe lange danach gesucht …

Hat Jemand eventuell Kram auf dem Tisch um das mal zu verifizieren?
Ich habe von einem solchen Bug noch nie was gehört und bei dem
massenhaften Einsatz sollte das doch eigentlich bemerkt und
dokumentiert worden wein?

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
04.09.2013, 19:50 Uhr
Deff

Avatar von Deff

Habe davon schon länger auch Kenntnis! Gab, soweit ich mich erinnere, auch einen Artikel im FA.
--
Die Politik ist ein Versuch der Politiker, zusammen mit dem Volk mit den Problemen fertig zu werden, die das Volk ohne die Politiker niemals gehabt hätte. (Dieter Hildebrandt)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
04.09.2013, 20:05 Uhr
Enrico
Default Group and Edit


Deff, wäre schön, wenn Du den finden könntest.

Ich bin gerade mal mehrerer Pläne auf die Schnelle durch.
Das /CS für die CTC wird nicht immer gleich erzeugt.
Bei manchen ist nur die Adresse (KC85 M001) drin, bei anderen auch /IORQ (KC85/4), bei anderen /IORQ und /M1 (D004, P8000 8Bit-Teil).
Die können aber alle Interrupt.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
04.09.2013, 20:11 Uhr
kaiOr

Avatar von kaiOr

Lt. FA Jahresübersicht:
"Fehler beim CTC-lnterrupt im U 880-System" 8/90

Habe ich aber nicht.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
04.09.2013, 20:23 Uhr
Andreas



Hallo

Hier der FA-Artikel http://pixelbanane.de/yafu/164834927/Scan.pdf

Andreas
--
Viele Grüße
Andreas
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
04.09.2013, 20:37 Uhr
Deff

Avatar von Deff

Genau, das ist der von mir oben erwähnte FA-Artikel! Autor ist der Kumpel von Holm, Jörg Wunsch, auch Mod im µC-net-Forum.
--
Die Politik ist ein Versuch der Politiker, zusammen mit dem Volk mit den Problemen fertig zu werden, die das Volk ohne die Politiker niemals gehabt hätte. (Dieter Hildebrandt)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
04.09.2013, 22:05 Uhr
Wusel_1



Ich weiß ja nicht, was der da zusammengelötet hat. Bei meinem damals aufgebauten AC1 zeigte sich dieses Problem jedenfalls nicht. Selbst mit einem "Basteltyp" lief alles, sonst hätte das RTTY- und Packet Radio-Programm nicht funktioniert, da dabei mit dem Interup vom CTC gearbeitet wurde. Ich kenne auch niemanden, der damals Probleme mit der CTC hatte. Wie man sowas überhaupt drucken konnte - na ja, irgendwas musste ja drin stehen und zur Wendezeit wurde halt alles gedruckt ohne sich den Kopf zu zerbrechen.
--
Beste Grüße Andreas
______________________________________
DL9UNF ex Y22MF es Y35ZF
JO42VP - DOK: Y43 - LDK: CE

*** wer glaubt, hört auf zu denken ***

Dieser Beitrag wurde am 04.09.2013 um 22:10 Uhr von Wusel_1 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
05.09.2013, 08:22 Uhr
holm

Avatar von holm

Naja, Vorsicht, Jörg ist keinesfalls dumm, sonst wäre er auch nicht mein Kumpel.

Ich kann mich meinerseits an einen Artikel in der rfe erinnern, in dem auf ein prinzipielles Problem bei der CTC-Interruptannahme hingewiesen wurde. Das ist allerdings ein anderes Paar Schuhe und betraf das Z80 System an sich und nicht nur eine U857.
Wenn Ein CTC einen Interrupt auslöst und der der letzte bearbeitete Befehl gerade den Int im CTC sperrt, liefert der CTC dann im Annahmezylus keinen Vektor, worauf hin sich das Programm verabschiedet. Das Ding kenne ich. Das was Jörg anspricht ist aber was Anderes und nach wie vor ist offen wie sich ein Z80-CTC im Vergleich zum U857 verhält. Das hätte ich gerne mal gewußt.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
05.09.2013, 09:02 Uhr
Ralph




Zitat:
Wusel_1 schrieb
Ich weiß ja nicht, was der da zusammengelötet hat. Bei meinem damals aufgebauten AC1 zeigte sich dieses Problem jedenfalls nicht. Selbst mit einem "Basteltyp" lief alles, sonst hätte das RTTY- und Packet Radio-Programm nicht funktioniert, da dabei mit dem Interup vom CTC gearbeitet wurde. Ich kenne auch niemanden, der damals Probleme mit der CTC hatte. Wie man sowas überhaupt drucken konnte - na ja, irgendwas musste ja drin stehen und zur Wendezeit wurde halt alles gedruckt ohne sich den Kopf zu zerbrechen.

Andreas, dann hast Du vermutlich nie mit einem "alten Original Ur-AC1" das Motorradspiel CYCLE gespielt !! Da ist genau der Effekt bei mir damals auch reproduzierbar gewesen.
Allerdings hatte ich seit Einbeziehung des /M1 Signales auch keine Probleme mit der CTC und die wird ja im HRDOS und HRCPM intensiv genutzt.

LG Ralph
--
Es geht alles erst richtig los !
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
05.09.2013, 13:51 Uhr
jmueller



Das in dem FA-Artikel beschriebene Verhalten ist exakt auch so von Zilog dokumentiert.
Man schaue einfach auf das Diagramm auf Seite 17 des "Z80 Family CPU User Manual":

http://www.zilog.com/appnotes_download.php?FromPage=DocTree&dn=UM0080&ft=User%20Manual&f=YUhSMGNEb3ZMM2QzZHk1NmFXeHZaeTVqYjIwdlpHOWpjeTk2T0RBdmRXMHdNRGd3TG5Ca1pnPT0=

Wenn also in der IO-Select-Logik nur /IOREQ ohne /M1 ausgewertet wird,
ist das somit ein Design-Fehler bei dem betreffenden Rechner.

Jens

Dieser Beitrag wurde am 05.09.2013 um 13:58 Uhr von jmueller editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
05.09.2013, 18:49 Uhr
holm

Avatar von holm

Ja, so weit so gut.
Jörg beschreibt aber in der Quelle (Mikrocontroller.net) das sowohl die PIO als auch die SIO ein /CS ignorieren wenn /M1 aktiv ist, der U857 aber nicht, "angeblich" im Gegensatz zum Z80-CTC.

Mir geht es also darum herauszufinden ob die Dinger sich identisch verhalten oder nicht, nicht darum, wie man den Adreßdecoder richtig baut...

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
05.09.2013, 22:38 Uhr
jmueller



Na gut, dieser Zustand ist in der CTC-Beschreibung nicht ausdrücklich erwähnt.
Liest man die Pin-Beschreibung zu /M1 und /IOREQ, könnte man meinen,
/CE wird ignoriert, liest man aber den Text zu /CE, klingt es so,
als wäre es dann immer ein IO-Zyklus.
Wie auch immer, dieser Zustand ist nicht definiert und muss,
wenn man "sauber" bleiben möchte, von der Beschaltungslogik ausgeschlossen werden.

Ob nun eine Orignal-CTC sich da anders als ein U857 verhält,
kann ich mir kaum vorstellen, da allein schon aus Gründen der Kompatibilität
MME sich kaum ein geändertes Chip-Design ausgedacht haben dürfte.

Allerdings hat Zilog die Chip-Fläche in mehreren Schritten immer wieder verkleinert
und damit vielleicht auch das Verhalten in solchen Grenzzuständen unbewusst etwas verändert,
so dass sich möglichweise ein U857 gleich wie eine frühere Original-CTC,
aber vielleicht geringfügig anders als eine spätere Original-CTC verhält.
...ist jetzt aber reine Spekulation.

Jens
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
24.10.2013, 22:23 Uhr
kaiOr

Avatar von kaiOr

Hole den Thread nochmal hoch, kann ihn aber nicht auflösen (habe keine westl. CTC).

Der KC85 scheint aber auch ein Interruptproblem zu haben. Mir ist aufgefallen, dass die DEMO "Waypoint X" auf dem KC85 äußerst Tuning-unwillig ist, IEO der CTC ist quasi rund um die Uhr LOW.....

Auf 2 meiner KC85/4+5 entstehen bei der Schlussanimation hässliche Artefakte im oberen Bildbereich, doch wenn sich das Taktregime zu Gunsten der CPU verändert (schnellere Interruptabwicklung) bleiben die Fehler aus. Im JKCemu kommen die Bildfehler generell nicht.

Dieser Beitrag wurde am 24.10.2013 um 22:29 Uhr von kaiOr editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
25.10.2013, 06:23 Uhr
meikel

Avatar von meikel


Zitat:
kaiOr schrieb
Hole den Thread nochmal hoch, kann ihn aber nicht auflösen (habe keine westl. CTC).

Es liegt nicht am CTC sondern am IO-Adressdekoder: der muß die Klappe halten, wenn /M1, /IORQ und
<sorry>
EDIT:
/RD = H
</sorry>
aktiv sind, weil er auf den Interruptvektor wartet. Da ist Geiz nicht geil sondern uncool. <ggg>
Ein /CS Signal bei IntAck ist sinnfrei, weil der IO-Adressdekoder ja nicht wissen kann, welcher IO Chip den INT ausgelöst hat.

Dieser Beitrag wurde am 25.10.2013 um 22:43 Uhr von meikel editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
25.10.2013, 22:36 Uhr
kaiOr

Avatar von kaiOr

Na /RD muss schon High bleiben.

@Enrico:
Habe deinen PROM-Inhalt (D05) - KC85/4 mal gewandelt:

Quellcode:
/ioac => ab4 # !ab65 # !ab7 # /iorq # !ab2 & !ab3
/WA847 => !ab2 # ab3 # ab4 # !ab65 # !ab7 # /wr # /iorq
/A88B => ab2 # !ab3 # ab4 # !ab65 # !ab7
/A8CF => !ab2 # !ab3 # ab4 # !ab65 # !ab7

Prio:
1. NOT (!)
2. AND (&)
3. OR (#)

/A8CF ist das /CS für die CTC im Grundgerät, /IORQ wird also dort auch ignoriert owohl's anliegt.


MfG

Dieser Beitrag wurde am 25.10.2013 um 22:41 Uhr von kaiOr editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
015
25.10.2013, 22:41 Uhr
meikel

Avatar von meikel


Zitat:
kaiOr schrieb
Na /RD muss schon High bleiben.

Stimmt. Das mir verfügbare Signalschema ist da etwas mißverständlich gezeichnet.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
016
27.10.2013, 11:07 Uhr
meikel

Avatar von meikel

Deutlicheres Bild gefunden und gescant:
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek