001
29.06.2012, 12:26 Uhr
holm
|
So wie Du das jetzt schreibst liest sich das, als wäre das Übergabefenster hier Meomory-Mapped, d.h. ein Fenster im Speicher über das Kommandos, Parameter und Daten geschoben werden. Derartiges ist nicht unbedingt unüblich, und die Datenübergabe ist sicherlich etwas schneller. Du wirst dem Atmega aber kaum erklären können das der das ausreichend schnell hinbekommt, Du wirst ggf. einen DualportRAM samt Mailbox für das Handshake brauchen.
Beim Z8000 kommt an der Stelle natürlich das MMU Mapping mit ins Spiel, der Speicherbereich sollte ja wohl nicht verschieblich sein und irgendwie protected...
An Deiner Stelle würde ich versuchen den Treibersourcen auf den Zahn zu fühlen (Speicherbereich, Handshake, Bufferbereich) und dann mal auf die Controllerplatine gucken was sich da so herumtreibt.
Ok, gerade gelesen, I/O Bereich, 16 aufeinanderfolgende 8 Bit Register und ein 8Bit C/S Register. Also ein kleiner RAM im IO Bereich (für jede Platte getrennt)und irgend ein Latch... Außerdem scheint das Ding DMA zu machen und die Daten direkt aus dem Huptspeicher auf die Platte bzw. zurück zu schreiben. Das ist ein Stück Arbeit wenn Du kompatibel sein willst.
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;} Dieser Beitrag wurde am 29.06.2012 um 12:35 Uhr von holm editiert. |