You are not logged in.

Marduk

Unregistered

1

Monday, June 22nd 2009, 5:10pm

PS2-Tastatur am C64

Mahlzeit !

Ich lese hier im Forum seit kurzem mit und habe auch schon
viele interessante Sachen gefunden, die ich bei meinem in Bälde geplanten Umbau
meines aus dem Keller geborgenen C64 berücksichtigen möchte.

Nun aber zu meinem Anliegen:
Es ist zwar bestimmt der 20. Beitrag zu dem Thema, aber ich
riskiere hier einfach mal noch so einen zu erstellen.

In den Beiträgen zum Thema finde ich immer wieder die
Verwendung von Crosspoint-Schaltern zum Ansteuern.
Da ich nun in diesem Forum viele Hard- und Softwarefreaks
erspäht habe, könnet ihr mich vielleicht mal aufklären.

Im Anhang erst mal die Schaltung wie ich sie mir vorgestellt
hatte. Euch obliegt jetzt die glorreiche Aufgabe mir zu sagen, ob das so
funktionieren würde oder ehr nicht ;-)

Erläuterung zur Schaltung:
Port A der CIA geht direkt an den AVR und jeweils die
geraden und ungeraden Bits an 2 NOR-Gatter.
Laut C64-Wiki wird der Port A als Ausgang geschaltet und
durch diesen wird eine 0 geschoben.
Da dies nun gleichmäßig passiert und die 2 NOR-Gatter dran
sind, wird bei jedem Schiebevorgang der 0 im AVR ein IRQ ausgelöst....
Bei Bit 0,2,4,6 Int0
Bei Bit 1,3,5,7 Int1
Somit müßte sich doch erkennen lassen, an welchem
Ausgangspin der CIA die 0 gerade anliegt.

In den IRQ-Routinen des AVR wird geprüft welcher Eingang nun
konkret auf Masse liegt. Die Eingänge Int0 und Int1 sind eigentlich nur zum
Hardwaretechnischen detektieren des Signalwechsels.
Dann wird im IRQ der Ausgangsport entsprechend meiner
gerückten Taste gesetzt.
Der AVR muß nur 8 Register verwalten die er dann eben
nacheinander an seinen Ausgang und den Eingang der CIA schiebt.
Da die IRQ Routine sich nur auf eine kleine Abfrage der 4 in
Frage kommenden Eingänge und das schalten des Ausgangsports beschränkt dürfte
es doch mit meinem Hauptprogramm keine Probleme geben.....

In der Hauptschleife wird die PC-Tastatur via Polling
abgefragt und die 8 in frage kommenden Ausgangsregister werden je nach
Tastendruck geändert.
Da die PS2 Tastatur ja seeehr langsam mit dem Takt ist,
sollte ich doch genug Zeit haben und die auftretenden IRQ’s stören nicht.

So, nun dürft ihr eure Kommentare abgeben ob und wo ich
einen Denkfehler habe.

Aber bitte nicht gleich beim ersten Beitrag meinerseits auf
mich einprügeln !

Gruß: Marduk
Marduk has attached the following image:
  • Grafik.gif

Unseen

Hätte gerne 'n Virtex 7 ;)

  • "Unseen" is male
  • »Unseen« is a verified user

Posts: 4,566

Date of registration: Jun 16th 2007

Location: Debara Hamtar

  • Send private message

member since 72 month member since 72 month member since 72 month member since 72 month

2

Monday, June 22nd 2009, 5:19pm

RE: PS2-Tastatur am C64

Laut C64-Wiki wird der Port A als Ausgang geschaltet und
durch diesen wird eine 0 geschoben.

Was machst du bei Software (zB einige Spiele), die Port A als Eingang und B als Ausgang verwenden? Oder die nicht eine 0 durchschieben sondern mit anderen Mustern scannen um die Fehlerkennung von Joystickschaltern als Tasten zu unterdrücken (IIRC macht GEOS das zB so)?

Quellcode

1
2
3
10 x=rnd(-1963):fori=1to81:y=rnd(1):next
20 forj=1to5:printchr$(rnd(1)*16+70);:next
30 printint(rnd(1)*328)-217

sd2iec Homepage

Marduk

Unregistered

3

Monday, June 22nd 2009, 5:28pm

Mahlzeit !





Genau das wollte ich ja wissen.... Ob die Tastenabfrage
prinzipiell so läuft.


Dann hat sich die Sache wohl somit erledigt ;-)


Allerdings kann ich ja dann das hier: http://www.neef-online.de/home/c64/keybild.gif


Als Tastaturtreiber bei langen Anschlußkabel ja auch
vergessen.





[font=&quot]Gruß: Marduk[/font]

Wiesel

mit der Lizenz zum Löten

  • "Wiesel" is male
  • »Wiesel« is a verified user

Posts: 3,040

Date of registration: Dec 9th 2004

Location: in der Wildnis

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

4

Monday, June 22nd 2009, 7:24pm

Allerdings kann ich ja dann das hier: http://www.neef-online.de/home/c64/keybild.gif


Als Tastaturtreiber bei langen Anschlußkabel ja auch
vergessen.


Korrekt. Es bedarf einer wirklich ausgefeilten Hard/Softwarekombination, wenn man beide Abfrage-Richtungen mit einem PS2-Adapter erschlagen möchte. Ich hatte mal ein solches Konzept durchgeplant, aber leider gibt's ne Menge Möglichkeiten auf C64-Seite, mit denen man einen solchen Adapter doch wieder überlisten kann.

Zusätzlich gibt es Software, die die Tasten "linke Shift" und "shift lock" getrennt abfragen kann, auch wenn diese physikalisch an den gleichen zwei Leitungen angeschlossen sind. Wenn Du schon das Rad neu erfinden willst (ja, es gibt bereits PS2-Adapter für den C64), dann solltest Du auch solche Sachen mit einbeziehen, sonst wird's mit "Anerkennung aus der Szene" nicht viel.

Jens
größter Sauhund aller Zeiten.

5

Monday, June 22nd 2009, 7:29pm

Mal ein anderer Ansatz: Warum nicht einfach die CIA Register überwachen? SwinSID schafft das beim SID doch auch sehr gut.
Das ist hier doch alles nur Elektronekrophilie (tm)

Wiesel

mit der Lizenz zum Löten

  • "Wiesel" is male
  • »Wiesel« is a verified user

Posts: 3,040

Date of registration: Dec 9th 2004

Location: in der Wildnis

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

6

Monday, June 22nd 2009, 8:05pm

Mal ein anderer Ansatz: Warum nicht einfach die CIA Register überwachen? SwinSID schafft das beim SID doch auch sehr gut.


Das Tolle am C64-Tastaturanschluß ist doch, dass es dort nicht nur die Matrix, sondern auch GND und +5V gibt. Man kann also etwas bauen, was garantiert in jedem C64 mit jeder Board-Version "nur steckbar" funktionieren wird. Wenn Du an die CIA gehst, schließt Du sehr viele 64er aus, bei denen der Chip nicht gesockelt ist. Das Hindernis für den Einbau ist ungleich größer.

Jens
größter Sauhund aller Zeiten.

Ace

Fieser Drehstuhlakrobat und Rentner Provocateur.

  • »Ace« is a verified user
  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

7

Monday, June 22nd 2009, 8:45pm

Falls du nach einer fertigen und vor allem brauchbaren Lösung suchst, suche mal nach Jim Brain PC Key. Ist sehr zu empfehlen ...

sauhund

ist falsch abgebogen

  • "sauhund" is male

Posts: 20,351

Date of registration: Jul 16th 2005

Location: zuhause

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

8

Monday, June 22nd 2009, 8:51pm

.... so lange man keine programme benutzt die die tastatur wie oben beschrieben "andersrum" scannen :)
http://www.hitmen-console.org http://magicdisk.untergrund.net
Die Furcht vor der freimütigen Antwort kann auch robuste Charaktere befallen.

Ace

Fieser Drehstuhlakrobat und Rentner Provocateur.

  • »Ace« is a verified user
  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

9

Monday, June 22nd 2009, 8:57pm

.... so lange man keine programme benutzt die die tastatur wie oben beschrieben "andersrum" scannen :)



Die Emulation sollte schon recht ausgereift sein um damit fertig zu werden. Und wenn schon das olle Geos mit dem Teil klarkommt ...

Ace

Fieser Drehstuhlakrobat und Rentner Provocateur.

  • »Ace« is a verified user
  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

10

Monday, June 22nd 2009, 9:02pm



Korrekt. Es bedarf einer wirklich ausgefeilten Hard/Softwarekombination, wenn man beide Abfrage-Richtungen mit einem PS2-Adapter erschlagen möchte. Ich hatte mal ein solches Konzept durchgeplant, aber leider gibt's ne Menge Möglichkeiten auf C64-Seite, mit denen man einen solchen Adapter doch wieder überlisten kann.


Jens
Und wie wird deine Hardwarelösung für das Chameleon ? dieses Problem genau in den Griff bekommen ? Hoffe doch das der PC Tastaturadapter auch zu gebrauchen ist...

sauhund

ist falsch abgebogen

  • "sauhund" is male

Posts: 20,351

Date of registration: Jul 16th 2005

Location: zuhause

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

11

Monday, June 22nd 2009, 9:04pm

Quoted

Die Emulation sollte schon recht ausgereift sein um damit fertig zu werden.


bitte glaub doch einfach mal das es leute gibt die definitiv mehr ahnung von dem haben von dem sie reden als du. das ding von jim brain ist ein simpler microcontroller der sehr ähnlich wie das vom OP vorgeschlagene arbeitet. und damit funktionieren "rückwärts" scannende tastaturabfragen NICHT. (gleiches gilt für alle anderen lösungen die rumschwirren, die arbeiten prinzipiell alle gleich).

Quoted

Und wenn schon das olle Geos mit dem Teil klarkommt ...


heisst das was? richtig: nix. geos scannt "richtig" rum. das funktioniert natürlich.
http://www.hitmen-console.org http://magicdisk.untergrund.net
Die Furcht vor der freimütigen Antwort kann auch robuste Charaktere befallen.

Unseen

Hätte gerne 'n Virtex 7 ;)

  • "Unseen" is male
  • »Unseen« is a verified user

Posts: 4,566

Date of registration: Jun 16th 2007

Location: Debara Hamtar

  • Send private message

member since 72 month member since 72 month member since 72 month member since 72 month

12

Monday, June 22nd 2009, 9:06pm

bitte glaub doch einfach mal das es leute gibt die definitiv mehr ahnung von dem haben von dem sie reden als du. das ding von jim brain ist ein simpler microcontroller der sehr ähnlich wie das vom OP vorgeschlagene arbeitet.

Nö, der verwendet schon einen 8x12-Analogschalter-Matrix-IC: http://www.jbrain.com/vicug/gallery/c%3D…a_Schematic_001

Quellcode

1
2
3
10 x=rnd(-1963):fori=1to81:y=rnd(1):next
20 forj=1to5:printchr$(rnd(1)*16+70);:next
30 printint(rnd(1)*328)-217

sd2iec Homepage

Ace

Fieser Drehstuhlakrobat und Rentner Provocateur.

  • »Ace« is a verified user
  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

13

Monday, June 22nd 2009, 9:10pm


bitte glaub doch einfach mal das es leute gibt die definitiv mehr ahnung von dem haben von dem sie reden als du.


Lustig, das ausgerechnet sowas von dir kommt.


das ding von jim brain ist ein simpler microcontroller der sehr ähnlich wie das vom OP vorgeschlagene arbeitet. und damit funktionieren "rückwärts" scannende tastaturabfragen NICHT. (gleiches gilt für alle anderen lösungen die rumschwirren, die arbeiten prinzipiell alle gleich).





Deine Infos sind veraltet. Bitte: Update !!!

sauhund

ist falsch abgebogen

  • "sauhund" is male

Posts: 20,351

Date of registration: Jul 16th 2005

Location: zuhause

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

14

Monday, June 22nd 2009, 9:11pm

oh, die version ist "neu" =) was wir damals im irc durchgekaspert haben war eine erweiterung der guten alten xt-keyboard-an-c64 schaltung ....

ich nehme alles zurück und behaupte das gegenteil =)
http://www.hitmen-console.org http://magicdisk.untergrund.net
Die Furcht vor der freimütigen Antwort kann auch robuste Charaktere befallen.

sauhund

ist falsch abgebogen

  • "sauhund" is male

Posts: 20,351

Date of registration: Jul 16th 2005

Location: zuhause

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

15

Monday, June 22nd 2009, 9:14pm

Quoted

Lustig, das ausgerechnet sowas von dir kommt.

schon gell, weil ich das nämlich nicht kann. leider bin ich zu faul jetzt den link auf die threads zu suchen in denen du mit technischem fachwissen geglänzt hast, aber wenn du dich unbedingt ein wenig blamieren willst sag bescheid =)
http://www.hitmen-console.org http://magicdisk.untergrund.net
Die Furcht vor der freimütigen Antwort kann auch robuste Charaktere befallen.

Ace

Fieser Drehstuhlakrobat und Rentner Provocateur.

  • »Ace« is a verified user
  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

16

Monday, June 22nd 2009, 9:20pm

Quoted

Lustig, das ausgerechnet sowas von dir kommt.

schon gell, weil ich das nämlich nicht kann. leider bin ich zu faul jetzt den link auf die threads zu suchen in denen du mit technischem fachwissen geglänzt hast, aber wenn du dich unbedingt ein wenig blamieren willst sag bescheid =)
Hab ich deine Papieren in den Taschen ? Daher: Mund zu und back to topic !

Wiesel

mit der Lizenz zum Löten

  • "Wiesel" is male
  • »Wiesel« is a verified user

Posts: 3,040

Date of registration: Dec 9th 2004

Location: in der Wildnis

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

17

Monday, June 22nd 2009, 9:24pm

leider bin ich zu faul jetzt den link auf die threads zu suchen in denen du mit technischem fachwissen geglänzt hast, aber wenn du dich unbedingt ein wenig blamieren willst sag bescheid =)


Lass' doch gut sein, das ist nicht gerade konstruktiv. Jim Brain hat offenbar in seiner V3 das gemacht, was schon 1995 durchs Usenet schwirrte.

Zu der Lösung in Chameleon: Da haben wir den ganzen Prozessorbus und können die CIA-Register (insbesondere die DataDirectionRegisters) überwachen und entsprechend reagieren.

Die billig-Variante wäre, wenn man an der Tastatur einstellen könnte, welche Richtung im Microcontroller-Code benutzt werden soll. Ne PS2 Tastatur hat ohnehin viel zu viele Tasten für den C64, da kann man auch eine für Config benutzen. Und die Scroll-Lock/Numlock LEDs haben auch keinen richtigen Sinn, die können als Richtungsanzeige benutzt werden - schwupp, schon ist man wieder bei einem einzigen Microcontroller, aber man kann Bruce Lee spielen (oder war das gar nicht das böse game? *kopfkratz*)

Jens
größter Sauhund aller Zeiten.

sauhund

ist falsch abgebogen

  • "sauhund" is male

Posts: 20,351

Date of registration: Jul 16th 2005

Location: zuhause

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

18

Monday, June 22nd 2009, 9:30pm

Quoted

Die billig-Variante wäre, wenn man an der Tastatur einstellen könnte, welche Richtung im Microcontroller-Code benutzt werden soll.


schwierig, es gibt auch scanner die mit verschiedenen mustern abwechselnd in beide richtungen scannen, damit kann man wohl diverse "ghostkey" probleme in den griff kriegen
http://www.hitmen-console.org http://magicdisk.untergrund.net
Die Furcht vor der freimütigen Antwort kann auch robuste Charaktere befallen.

Unseen

Hätte gerne 'n Virtex 7 ;)

  • "Unseen" is male
  • »Unseen« is a verified user

Posts: 4,566

Date of registration: Jun 16th 2007

Location: Debara Hamtar

  • Send private message

member since 72 month member since 72 month member since 72 month member since 72 month

19

Monday, June 22nd 2009, 9:31pm

Lass' doch gut sein, das ist nicht gerade konstruktiv. Jim Brain hat offenbar in seiner V3 das gemacht, was schon 1995 durchs Usenet schwirrte.

Na ja, V3 war der erste Schaltplan den ich da gesehen habe - der MT8812 ist aber auch in den als V1.1 und V2 benannten drin.

Quellcode

1
2
3
10 x=rnd(-1963):fori=1to81:y=rnd(1):next
20 forj=1to5:printchr$(rnd(1)*16+70);:next
30 printint(rnd(1)*328)-217

sd2iec Homepage

sauhund

ist falsch abgebogen

  • "sauhund" is male

Posts: 20,351

Date of registration: Jul 16th 2005

Location: zuhause

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

20

Monday, June 22nd 2009, 9:37pm

das ist insgesamt ne ganz andre schaltung als das was "wir" (hauptsächlich er, plus ein paar andre die schlaue tips gegeben haben =P) damals im irc zusammengekaspert haben =P
http://www.hitmen-console.org http://magicdisk.untergrund.net
Die Furcht vor der freimütigen Antwort kann auch robuste Charaktere befallen.