Forum: Offtopic C64 und Expansionsport


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Ingo L. (grobian)


Angehängte Dateien:

Lesenswert?

Ich hatte die obige Schaltung (D/A-Wandler) mal an meinen C64 betrieben 
und das hatte auch funktioniert. Nur leider finde ich das Programm (war 
in Assembler) nicht mehr. Das Programm selber bekomm ich noch hin aber 
ich weiß noch irgendein  PIN an EX-Port musste auf low oder high gelegt 
werden um die Schaltung am Expansionsport anzusprechen.
Kennst sich noch einer damit aus ?

7   I/O1   Input/Output 1   Ein-/Ausgabebereich 1 ; Low-Pegel, wenn 
Adressbus innerhalb $DE00-$DEFF liegt und I/O per Prozessorport 
aktiviert ist.
8   GAME   Spielkonfiguration   dient zur Speicherumkonfiguration; siehe 
PLA (C64-Chip)
9   EXROM   Externes ROM   ähnlich GAME.
10   I/O2   Input/Output 2   Ein-/Ausgabebereich 2 ; Low-Pegel, wenn 
Adressbus innerhalb $DF00-$DFFF liegt und I/O per  Prozessorport 
aktiviert ist.
11   ROML   ROM Low   Leitung zum Enable-Pin eines ROMs für den Bereich 
$8000-$9FFF, siehe PLA (C64-Chip)

: Bearbeitet durch User
von Oliver R. (orb)


Lesenswert?

Du solltest nur die Werte an die richtige Adresse schreiben und die 
entsprechenden Analog-Werte liegen am Ausgang.
Der 74AC138 sorgt dafür, daß die 74AC573 bei der richtigen Adresse 
angesprochen werden.
Leider macht die Belegung des Ports keinen Sinn bzw stimmt in keiner 
Weise mit der Belegung des C64 Erweiterungsport überein, sonst könnte 
man die Adresse ablesen.

: Bearbeitet durch User
von Ingo L. (grobian)


Lesenswert?

na so einfach war das mit dem Ex.Port nicht. Da muste ein Signal, ich 
glaube es war das I/O1   Input/Output 1 auf LOW gezogen werden um den 
Bereich $DE00-$DEFF ansprechenzu können. Auf der Zero Page musste das 1 
Byte irgendwie auch auf $00 gesetzt werden. Ich weiß es nicht mehr so 
genau. Muss mich da mal wieder einlesen

von Peter N. (alv)


Lesenswert?

Irgendwie verstehe ich die Schaltung nicht ganz.
Wozu ist der 245er? Schaft der CIA im C64 es nicht, 2 AC573 zu treiben?

Der 138 hat 3 Eingänge, kann also 8 Ausgänge selektieren. Benutzt werden 
aber nur 2 Ausgänge. Dafür bräuchte man den 138 gar nicht.

von Oliver R. (orb)


Lesenswert?

Ingo L. schrieb:
> . Auf der Zero Page musste das 1
> Byte irgendwie auch auf $00 gesetzt werden.

Nein, dafür nicht. Damit hätte man alle ROMs abgeschaltet und ohne ein 
anderes ROM am ExPort oder den Inhalt ins Ram zu kopieren würde der 
Rechner einfach abstürzen.


Peter N. schrieb:
> Wozu ist der 245er? Schaft der CIA im C64 es nicht, 2 AC573 zu treiben?
Da ist kein CIA vor, das ist direkt der Prozessorbus, das hat man gerne 
gemacht um das Innenleben vor Fehlern beim Basteln zu schützen.
Die 8Bit des CIA liegen am Userport.

Peter N. schrieb:
> Dafür bräuchte man den 138 gar nicht.
Nö, das könnte man auch zu Fuß mit einzelen Gattern machen.
Da werden A0, A1, IO1 oder IO2 und RW drauf liegen aber ohne die 
richtige Belegung des Ports ist das nicht klar.

von Ingo L. (grobian)


Lesenswert?

>
> Peter N. schrieb:
>> Wozu ist der 245er? Schaft der CIA im C64 es nicht, 2 AC573 zu treiben?
> Da ist kein CIA vor, das ist direkt der Prozessorbus, das hat man gerne
> gemacht um das Innenleben vor Fehlern beim Basteln zu schützen.
> Die 8Bit des CIA liegen am Userport.

ich hatte den damals hochgejagt. Der war da nur zur Sicherheit zwischen

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.