Created
February 26, 2020 02:17
-
-
Save jonlorusso/51fb0253c5b647a8d48a2be3e16e5149 to your computer and use it in GitHub Desktop.
clear display and return home
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
PORTB = $6000 | |
PORTA = $6001 | |
DDRB = $6002 | |
DDRA = $6003 | |
E = %10000000 | |
RW = %01000000 | |
RS = %00100000 | |
.org $8000 | |
reset: | |
lda #%11111111 ; Set all pins on port B to output | |
sta DDRB | |
lda #%11100000 ; Set top 3 pins on port A to output | |
sta DDRA | |
lda #%00111000 ; Set 8-bit mode; 2-line display; 5x8 font | |
sta PORTB | |
lda #0 ; Clear RS/RW/E bits | |
sta PORTA | |
lda #E ; Set E bit to send instruction | |
sta PORTA | |
lda #0 ; Clear RS/RW/E bits | |
sta PORTA | |
lda #%00001110 ; Display on; cursor on; blink off | |
sta PORTB | |
lda #0 ; Clear RS/RW/E bits | |
sta PORTA | |
lda #E ; Set E bit to send instruction | |
sta PORTA | |
lda #0 ; Clear RS/RW/E bits | |
sta PORTA | |
lda #%00000001 ; Clear display | |
sta PORTB | |
lda #0 ; Clear RS/RW/E bits | |
sta PORTA | |
lda #E ; Set E bit to send instruction | |
sta PORTA | |
lda #0 ; Clear RS/RW/E bits | |
sta PORTA | |
lda #%00000010 ; Return home | |
sta PORTB | |
lda #0 ; Clear RS/RW/E bits | |
sta PORTA | |
lda #E ; Set E bit to send instruction | |
sta PORTA | |
lda #0 ; Clear RS/RW/E bits | |
sta PORTA | |
lda #%00000110 ; Increment and shift cursor; don't shift display | |
sta PORTB | |
lda #0 ; Clear RS/RW/E bits | |
sta PORTA | |
lda #E ; Set E bit to send instruction | |
sta PORTA | |
lda #0 ; Clear RS/RW/E bits | |
sta PORTA | |
lda #"H" | |
sta PORTB | |
lda #RS ; Set RS; Clear RW/E bits | |
sta PORTA | |
lda #(RS | E) ; Set E bit to send instruction | |
sta PORTA | |
lda #RS ; Clear E bits | |
sta PORTA | |
lda #"e" | |
sta PORTB | |
lda #RS ; Set RS; Clear RW/E bits | |
sta PORTA | |
lda #(RS | E) ; Set E bit to send instruction | |
sta PORTA | |
lda #RS ; Clear E bits | |
sta PORTA | |
lda #"l" | |
sta PORTB | |
lda #RS ; Set RS; Clear RW/E bits | |
sta PORTA | |
lda #(RS | E) ; Set E bit to send instruction | |
sta PORTA | |
lda #RS ; Clear E bits | |
sta PORTA | |
lda #"l" | |
sta PORTB | |
lda #RS ; Set RS; Clear RW/E bits | |
sta PORTA | |
lda #(RS | E) ; Set E bit to send instruction | |
sta PORTA | |
lda #RS ; Clear E bits | |
sta PORTA | |
lda #"o" | |
sta PORTB | |
lda #RS ; Set RS; Clear RW/E bits | |
sta PORTA | |
lda #(RS | E) ; Set E bit to send instruction | |
sta PORTA | |
lda #RS ; Clear E bits | |
sta PORTA | |
lda #"w" | |
sta PORTB | |
lda #RS ; Set RS; Clear RW/E bits | |
sta PORTA | |
lda #(RS | E) ; Set E bit to send instruction | |
sta PORTA | |
lda #RS ; Clear E bits | |
sta PORTA | |
lda #"o" | |
sta PORTB | |
lda #RS ; Set RS; Clear RW/E bits | |
sta PORTA | |
lda #(RS | E) ; Set E bit to send instruction | |
sta PORTA | |
lda #RS ; Clear E bits | |
sta PORTA | |
lda #"r" | |
sta PORTB | |
lda #RS ; Set RS; Clear RW/E bits | |
sta PORTA | |
lda #(RS | E) ; Set E bit to send instruction | |
sta PORTA | |
lda #RS ; Clear E bits | |
sta PORTA | |
lda #"l" | |
sta PORTB | |
lda #RS ; Set RS; Clear RW/E bits | |
sta PORTA | |
lda #(RS | E) ; Set E bit to send instruction | |
sta PORTA | |
lda #RS ; Clear E bits | |
sta PORTA | |
lda #"d" | |
sta PORTB | |
lda #RS ; Set RS; Clear RW/E bits | |
sta PORTA | |
lda #(RS | E) ; Set E bit to send instruction | |
sta PORTA | |
lda #RS ; Clear E bits | |
sta PORTA | |
lda #"!" | |
sta PORTB | |
lda #RS ; Set RS; Clear RW/E bits | |
sta PORTA | |
lda #(RS | E) ; Set E bit to send instruction | |
sta PORTA | |
lda #RS ; Clear E bits | |
sta PORTA | |
loop: | |
jmp loop | |
.org $fffc | |
.word reset | |
.word $0000 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment