• Welcome to Schneider / Amstrad CPC Forum.
Welcome to Schneider / Amstrad CPC Forum. Please login.

17. April 2026, 18:01:44

Login with username, password and session length

Shoutbox

TFM

2024-04-08, 20:42:44
Happy Sonnenfinsternis!  :)

TFM

2024-01-15, 17:06:57
Momentan billige Farbbänder auf Ebay für PCW

Devilmarkus

2023-07-09, 10:37:40
Zweiter 👋😂🤣

TFM

2023-06-13, 14:21:49
Sommerloch!

Recent

Members
Stats
  • Total Posts: 12,834
  • Total Topics: 1,528
  • Online today: 215
  • Online ever: 1,724
  • (16. January 2020, 00:18:45)
Users Online
Users: 1
Guests: 145
Total: 146

145 Guests, 1 User
Rennert

CPC Port Frage / Adressdekodierung

Started by LambdaMikel, 22. September 2019, 17:27:54

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

LambdaMikel

Für ein neues Projekt benötigt ich richtig viele IO Ports...
mein neues Projekt wird die IO Ports FBFE, FAEE, FBEE (surprise  :bgdev:) und ebenfalls den Bereich

FAC0 - FADF

komplett belegen. Zudem dekodiere ich aus Kostengründen jetzt auch nur mit 4 / 5 Addressleitungen (-> kleinerer CPLD, enorme Kostenreduktion!)

Ich habe die Addressdekodierung bereits aufgebaut und habe am 464 mal getestet, und habe bisher keine Probleme gefunden (der Dekoder geht nur an wenn er explizit angesprochen wird). Mit DDI-3 und M4 am Erweiterungsport und dem neuen Projekt gab es keine unerwünschten Dekodierungen oder Probleme.

Gibt es große Bedenken gegen diesen IO-Bereich?

Hintergrund für den FAC0 - FADF  ist natürlich, dass ich einen direkten Zugriff auf 32 Hardware-Register (Lesen / Schreiben) eines gewissen Chips haben will... 

TFM

Quote from: LambdaMikel on 22. September 2019, 17:27:54
IO Ports FBFE(dktronics), FAEE(ssa1), FBEE(LS3)
FAC0 - FADF
Gibt es große Bedenken gegen diesen IO-Bereich?
Gucken wir mal nach &FAC0-DF...

Ja da gibt's Probleme:
#FADC    -   Amstrad Serial Interface Z80-SIO / DART port A Data Register
#FADD    -    Amstrad Serial Interface Z80-SIO / DART port A Control Reg.

Besser wäre es also anstatt &FAC0-DF den Bereich &FAB0-CF zu nutzen.

Was kann man tun: Zwei Ports verwenden, der eine gibt an in welches der 32 Regiser geschreiben (gelesen) werden soll, der zweite Port übernimmt die Daten.


Bitte hier mal gucken (oder im FutureOS Handbuch Deutsch):
https://www.cpcwiki.eu/index.php/I/O_Port_Summary


Zur Dekodierung: Die sollte immer eindeutig sein, da es sonst durch Port-Spiegelungen mit anderen Erweiterungen zu Problemen führen könnte.
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 24.12.2025)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 29.01.2025)

LambdaMikel

Ja, ich weiß, aber 2 Dinge:
- es gibt viele Port-Bereicht die von esotherischen Erweiterungen benutzt werden, die erstens keiner mehr hat, und 2. kann man die auch nicht mehr kaufen.
- wie gesagt, volles Dekodieren ist zu teuer.
- wer tatsächlich einen Konflikt hat, soll eben eine der Karten abstecken  :zunge0020:

Ich gucke mal ob ich &FAB0-CF nutzen kann..

2 Ports will ich nicht, braucht dann alles 2 Instruktionen zum Programmmieren. Es soll so schnell wie möglich gehen...

Gruss
Michael

TFM

Die Amstrad serielle Schnittstelle ist aber nicht esoterisch, sondern sehr real. Und wohl CPC-Welt-weit auch die am meisten verkaufte Schnittstelle. Die nutzt eh nur wenige Ports.

Du willst also nicht voll dekodieren? Bedeutet das, dass man die Ports der Karte dann an mehreren I/O Adressen ansprechen/lesen kann?

Warum nicht z.B. die vier Adern von &Fxxx zusammenfassen, im &F ist alles auf "1". So könnte man doch alles 1en und 0en zusammenfassen.

Jaja, ich hab keine Ahnung von Hardware, keine Ahnung ob die Idee praktikabel ist. Nur mal so eine Idee eben.  :)
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 24.12.2025)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 29.01.2025)

LambdaMikel

Quote from: TFM on 25. September 2019, 19:14:37
Die Amstrad serielle Schnittstelle ist aber nicht esoterisch, sondern sehr real. Und wohl CPC-Welt-weit auch die am meisten verkaufte Schnittstelle. Die nutzt eh nur wenige Ports.

Du willst also nicht voll dekodieren? Bedeutet das, dass man die Ports der Karte dann an mehreren I/O Adressen ansprechen/lesen kann?

Warum nicht z.B. die vier Adern von &Fxxx zusammenfassen, im &F ist alles auf "1". So könnte man doch alles 1en und 0en zusammenfassen.

Jaja, ich hab keine Ahnung von Hardware, keine Ahnung ob die Idee praktikabel ist. Nur mal so eine Idee eben.  :)

Na ja, zusammenfassen ist ja kein Problem, aber kostet einen Chip extra... und wenn man es per CPLD oder PAL - GAL machen will, kostet es eben viele Leitungen = dicker Chip = teuer Geld!

Der SSA-1 z.B. dekodiert nur 3 Addressbits (A10, A4, A0) - und prueft diese auf 0. Alles andere wird auf 1 angekommen.

LambdaMikel

QuoteBesser wäre es also anstatt &FAC0-DF den Bereich &FAB0-CF zu nutzen.

OK, habe ich gemacht, für Euch ist mir doch nichts zu teuer... also eine Leitung mehr...

I dekodiere jetzt

NET "iADR<0>"   LOC = "p35" ;
NET "iADR<4>"   LOC = "p36" ;
NET "iADR<5>"   LOC = "p37" ;
NET "iADR<6>"   LOC = "p38" ;
NET "iADR<8>"   LOC = "p39" ;
NET "iADR<10>"  LOC = "p40" ;

TFM

Quote from: LambdaMikel on 26. September 2019, 01:34:33
Der SSA-1 z.B. dekodiert nur 3 Addressbits (A10, A4, A0) - und prueft diese auf 0. Alles andere wird auf 1 angekommen.

%xxxx x0xx xxx0 xxx1 = &FBEE, aber leider auch &EBEE, &DBEE, &DCEE und etwa 32 Tausend mehr. So, sollte man es genau NICHT machen.

Mit diesem schweren Erbe haben uns die Firmen aus den 80ern zurückgelassen. Heute müssen wir sehen wie wir damit klar kommen.  ::)
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 24.12.2025)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 29.01.2025)