Forum: Mikrocontroller und Digitale Elektronik Seltsame Adressdekodierung bei Coleco Vision Spielekonsole


von john doe (Gast)


Angehängte Dateien:

Lesenswert?

Hat jemand eine Idee, warum bei der Coleco Vision Konsole /WR auf A0 des 
Dekoders gelegt wurde?

Ich hätte ja erwartet, dass /WR direkt an /WE der angeschlossenen ICs 
geht und die Adresspins A5, A6 und A7 direkt auf A0, A1 und A2 des 74138 
geschaltet sind. Also vom Prinzip her so wie auf dem zweiten Bild.

von Otto (Gast)


Lesenswert?

Hallo

Na dann schau mal die Ausgänge am Adressdekoder an: da gibt es welche, 
die mit ...w enden und welche,  die mit ...r enden. Die mit w sollen nur 
bei schreiben aktiv  sein, die mit r nur beim Lesen.

Gruss

Otto

von john doe (Gast)


Lesenswert?

Ja stimmt! :-)

Vielen Dank.

von Bernd (Gast)


Lesenswert?

Coleco? Das waren doch die mit dem 'Puppen'-Spiel:
https://www.youtube.com/watch?v=2-BA9ZJ5V0w

Otto schrieb:
> Die mit w sollen nur
> bei schreiben aktiv  sein, die mit r nur beim Lesen.
Eigentlich geschickt. Damit kann man günstige 74xx245, 374 oder 574 als 
IO-Erweiterung verwenden.

von john doe (Gast)


Lesenswert?

Bernd schrieb:
> Eigentlich geschickt. Damit kann man günstige 74xx245, 374 oder 574 als
> IO-Erweiterung verwenden.

Genau. Man kann dann dadurch die digital I/O Signale über die gleiche 
Adresse lesen und schreiben. Sonst müsste man das über unterschiedliche 
Adressen machen.

Gibts beim Z80 einen Nachteil, wenn ich z.B. bei Adresse $10 schreibe 
und $11 lese?

von Bernd (Gast)


Lesenswert?

john doe schrieb:
> Gibts beim Z80 einen Nachteil, wenn ich z.B. bei Adresse $10 schreibe
> und $11 lese?
Nicht, das ich wüsste.
Außer du hast soviel IO, daß dir irgendwann die Adressen ausgehen 
(offiziell 256, inoffiziell 64k).

von spess53 (Gast)


Lesenswert?

Hi

Wieso " inoffiziell"

OUT (C), r / IN r,(C) sind offizielle Befehle.

MfG Spess

von Georg A. (georga)


Lesenswert?

spess53 schrieb:
> Hi
>
> Wieso " inoffiziell"
>
> OUT (C), r / IN r,(C) sind offizielle Befehle.
>
> MfG Spess

Ja, offiziell steht da eben nur (C), also 256 IO-Adressen. Inoffiziell 
ist es aber (BC), B geht auf A(15:8), also 64k.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Man lernt nie aus, aber jetzt ist es zu spät für meinen Z80.

von Spess53 (Gast)


Lesenswert?

Hi

>Ja, offiziell steht da eben nur (C), also 256 IO-Adressen. Inoffiziell
>ist es aber (BC), B geht auf A(15:8), also 64k.

Das steht in jeder Befehlsbeschreibung vom Z80. Da ist nichts 
'inoffiziell'.

MfG Spess

von Georg A. (georga)


Lesenswert?

Spess53 schrieb:
> Hi
>
>>Ja, offiziell steht da eben nur (C), also 256 IO-Adressen. Inoffiziell
>>ist es aber (BC), B geht auf A(15:8), also 64k.
>
> Das steht in jeder Befehlsbeschreibung vom Z80. Da ist nichts
> 'inoffiziell'.

Ja gut, wohl war, es steht zumindest schon in der Originaldoku von 1976: 
"In all register indirect input output instructions, including block I/O 
transfers the content of register C is transferred to the lower half of 
the address bus (device address) while the content of register B is 
transferred to the upper half of the address bus."

Und der ZX81 hat das fürs Scannen der Tastatur auch ausgenutzt, A(15:8) 
gingen über Widerstände direkt auf die Keyboardmatrix. EMV gabs da noch 
nicht...

Allerdings wer von uns Bastlern hatte die Originaldoku damals schon... 
Ich hatte nur einen grünen Spickzettel mit der Liste der Opcodes aus 
einem Assembler-Buch für den Spectrum ;)

Irgendwie ist das auch schon komisch. Da der 8080 AFAIR keine indirekten 
IN/OUT kannte, gab es eigentlich keinen Kompatibilitätsgrund, beim neuen 
Opcode nicht gleich (BC) anzugeben. Klingt mir so, als wäre das 
"Feature" recht spät reingekommen.

: Bearbeitet durch User
von Thomas Z. (usbman)


Lesenswert?

Georg A. schrieb:
> Irgendwie ist das auch schon komisch. Da der 8080 AFAIR keine indirekten
> IN/OUT kannte

Dafür hatte der 8085 und vermutlich auch der 8080 eine andere Eigenheit 
bei IN und Out. Die beiden Befehle legten auf A8..A15 eine Kopie von 
A0..A7.
Es gab dann Bausteine die dieses Feature Benutzten (8155)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.