;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Test VIA's PORTB using alternating bit pattern. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; processor 6502 ; Processor directive for Assembler. PORTB = $6000 ; Our data port (Port B). PORTA = $6001 ; Our control port (Port A). DDRB = $6002 ; Data Direction Register for Port B. 1: output, 0: input. DDRA = $6003 ; Data Direction Register for Port A. Reset = $8000 ; Reset vector address of $8000 (start of ROM). ;seg .U code org $8000 ; Define the code origin of $8000 (ROM) starting point. Start: lda #$FF ; A9 FF ; All pins will be outputs. sta $DDRB ; 8D 02 60 ; DDRB: Data Direction Register for port B. Loop: lda #$55 ; A9 55 ; Odd-bits pattern. sta PORTB ; 8D 00 60 ; Write to data port B (PORTB). lda #$aa ; A9 AA ; Even-bits pattern. sta PORTB ; 8D 00 60 ; Write to data port B (PORTB). jmp Loop ; 4C 05 80 ; Repeat indefinitely by jumping back to $8005. org $FFFC word $Reset ; Reset vector (FFFC, FFFD) is set to location $8000. word $0000 ; Fill 32K to end.