Der Joystick-Teil ist noch nicht komplett definiert und gar nicht fertig.
Aber hier versuche ich mal ein polling demo:
Code
- // vor der benutzung muss eine initialisierungs-sequenz geschickt werden
- TODO
- // vor dem auslesen (nur einmal wenn nicht zwischendurch geändert)
- lda # 0
- sta cia1.porta
- // das auslesen
- lda # cmd_read
- sta cia1.ddra
- lda # 0
- sta cia1.ddra
- lda cia1.porta // muss innerhalb einer festgelegten zeit passieren (noch zu definieren, zu bedenken: dieser adapter soll nicht nur am c64 funktionieren)
- sta fire
- nop // etwas warten bis der adaper die leitungen wieder frei gibt (noch zu definieren)
- lda # cmd_next
- sta cia1.ddra
- lda # 0
- sta cia1.ddra
- lda cia1.porta
- sta direction
- // BEGIN OPTIONAL
- nop
- lda # cmd_next
- sta cia1.ddra
- lda # 0
- sta cia1.ddra
- lda cia1.porta
- sta fire2
- // END OPTIONAL
- nun ist folgendes abgefragt:
- - direction: die 4 richtungen
- - fire: die ersten 3 tasten (und ein bit immer gesetzt)
- - fire2: die weiteren 4 tasten (wenn ausgelesen)