Zasadniczo chodziło mi o szybkie przepisanie obrazka z jednego obszaru do drugiego, gdzie umownie jest ramka wysyłana do wyświetlacza. Oczywiście przepisywanie całego obrazka nie ma sensu bo można go wysłać od razu do OLED-a ale.. jakbym chciał sobie cosik na nim jesczze narysować lub napisać to fajnie jest robić to w buforze.. przed wysłaniem. Stąd też mam dwa zdefiniowane obszary z ich adresami zapisanymi na stronie zerowej:
       lda #<PACMAD1
        sta src
        lda #>PACMAD1
        sta src+1
 ;       
        lda #<SCREEN
        sta dst
        lda #>SCREEN
        sta dst+1 
Wykorzystując Twój kod:
pic2frame:  
                ldy #$00
                ldx #$20
p2floop1:
                lda (src),y
                sta (dst),y
                jsr lcd_write_data
                iny
                bne p2floop1
                inc src+1
                inc dst+1
                dex
                bne p2floop1
                rts
dorzuciłem jeszcze skok do procedury wysyłającej dane od razu do wyświetlacza... jednak coś nie bangla...
;lcd_write_data
;   A - data to send
lcd_write_data: 
            sta OLED_DATAPORT               ; set command
            pha
            
            lda #$ff
            and #OLED_CS_N
            sta OLED_CTRLPORT               ; set chip  enabled
            
            and #OLED_WR_N
            sta OLED_CTRLPORT               ; send data
            ora #OLED_WR
            sta OLED_CTRLPORT               
            ora #OLED_CS
            sta OLED_CTRLPORT
            pla
            rts
Jak widać procka modyfikuje tylko akumulator (zresztą zachowuję go na wszelki wypadek)
I jeszcze jak to robiłem by działało:
            ldx #$00
pac0    lda PACMAD1,x
            jsr lcd_write_data
            inx
            cpx #$00
            bne pac0
        
pac2    lda PACMAD1+$0100,x
            jsr lcd_write_data
            inx
            cpx #$00
            bne pac2
        
...
...
pac60   lda PACMAD1+$1e00,x
            jsr lcd_write_data
            inx
            cpx #$00
            bne pac60
Wysyłając dane w ten sposób wszystko bangla prawidłowo...
						https://systemembedded.eu/ ... 
https://www.youtube.com/watch?v=GwS7Es1x6mw""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi."" 
ABBUC Member #319. Preferowana forma kontaktu: 
email