Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.
Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.
.org $6000 ; Ustawienie adresu startowego programu
START:
LDX #$00 ; Ustawienie X na 0
STY $D000 ; Ustawienie koloru tła (czarny)
STY $D001 ; Ustawienie koloru tekstu (czarny)
; Tekst do wyświetlenia
.text "Witaj w Atari 65XE! " ; Tekst do przewijania
.byte $00 ; Zakończenie tekstu
MAIN_LOOP:
LDA $D000 ; Wczytaj kolor tła
STA $D000 ; Ustaw kolor tła
LDA $D001 ; Wczytaj kolor tekstu
STA $D001 ; Ustaw kolor tekstu
; Przesuwanie tekstu
LDX #$00 ; Ustawienie X na 0
LDY #$00 ; Ustawienie Y na 0
PRINT_TEXT:
LDA .text, X ; Wczytaj znak z tekstu
BEQ END_LOOP ; Jeśli znak to 0, zakończ pętlę
STA $200 + Y ; Wyświetl znak na ekranie
INX ; Zwiększ X
INY ; Zwiększ Y
JMP PRINT_TEXT ; Powrót do drukowania tekstu
END_LOOP:
; Przewijanie tekstu
LDX #$00 ; Ustawienie X na 0
STY $D000 ; Ustawienie koloru tła
STY $D001 ; Ustawienie koloru tekstu
JMP MAIN_LOOP ; Powrót do głównej pętli
.text:
.asciz "Witaj w Atari 65XE! " ; Tekst do przewijania
.org $6000 ; Ustawienie adresu startowego programu
START:
LDX #$00 ; Ustawienie X na 0
STY $D000 ; Ustawienie koloru tła (czarny)
STY $D001 ; Ustawienie koloru tekstu (czarny)
; Tekst do wyświetlenia
.text "Witaj w Atari 65XE! "
.byte $00 ; Zakończenie tekstu
MAIN_LOOP:
; Przesuwanie tekstu
LDX #$00 ; Ustawienie X na 0
LDY #$00 ; Ustawienie Y na 0
PRINT_TEXT:
LDA .text, X ; Wczytaj znak z tekstu
BEQ END_LOOP ; Jeśli znak to 0, zakończ pętlę
STA $200 + Y ; Wyświetl znak na ekranie
INX ; Zwiększ X
INY ; Zwiększ Y
JMP PRINT_TEXT ; Powrót do drukowania tekstu
END_LOOP:
; Przewijanie tekstu
LDX #$00 ; Ustawienie X na 0
STY $D000 ; Ustawienie koloru tła
STY $D001 ; Ustawienie koloru tekstu
; Przesunięcie tekstu w górę o jeden piksel
LDA $200 ; Wczytaj pierwszy znak
STA $200 + 1 ; Przesuń go w górę
LDA $201 ; Wczytaj drugi znak
STA $201 + 1 ; Przesuń go w górę
; Kontynuuj dla pozostałych znaków...
; Wprowadź opóźnienie, aby uzyskać płynne przewijanie
JSR DELAY ; Wywołanie procedury opóźnienia
JMP MAIN_LOOP ; Powrót do głównej pętli
DELAY:
LDX #$FF ; Ustawienie X na maksymalną wartość
DELAY_LOOP:
DEX ; Decrement X
BNE DELAY_LOOP ; Powtarzaj, aż X osiągnie 0
RTS ; Powrót z procedury
.text:
.asciz "Witaj w Atari 65XE! " ; Tekst do przewijania
Od 1 do 5 z 5