Programmierung der Shift-Register des 6526 ....
Suche
Index
FAQ
Kontakt
Zurück

Shiftregister des 6526



Selten genutzt und nicht zu unterschätzen. Die beiden Hardware Shift-Register des 6526 sind am Userport herausgeführt. Diese können sowohl zum Schreiben als auch zum Lesen von seriellen Daten verwendet werden.
Für die Geschwindigkeit des Transfers beim Schreiben wird Timer A verwendet. Nach den acht Clock-Pulsen wird ein Interrupt ausgelöst, um zu signalisieren, dass das nächste Byte gesendet werden kann. MSB wird immer zuerst gesendet.
Beim Lesen werden die Bits bei der steigenden Flanke von CNT übernommen und es wird ebenfalls ein Interrupt ausgelöst.

Ein Beispiel zum Schreiben mit dem Port:

!to"shiftout",cbm

sdr          = $dc0c
icr          = $dc0d
cra          = $dc0e

*= $0800
!byte $00,$0c,$08,$0a,$00,$9e,$32,$30,$36,$33,$00,$00,$00,$00
*=$080f
           sei
           ldy #$01		; Set the clock rate to the fastest possible
           sty $dc04            ; Timer A Low
           dey
           sty $dc05            ; Timer A High
           lda #%11000001       ; Start TimerA, Serial Out, TOD 50Hz
           sta cra
           bit icr
           lda #$88             ; #136 %10001000
           sta sdr
-          bit icr
           beq -
           lda #$40             ; set to Pal (Timer A)
           sta $dc05
           lda #$25
           sta $dc04
           cli
           rts



Das Ergebnis im Logik-Analysator:

lime

Bild 6526 Datenblatt

 

Letzte Änderung: 2019-01-03 11:42:37
  Rubrik:  C64
Rubriken-Übersicht
 4 Besucher online 

Valid XHTML 1.0 Transitional Valid CSS!