Programowanie: Konwersja kolorowej grafiki z układu 6845

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 09:00, 20 kwi 2008
Xxl (Dyskusja | wkład)

← Previous diff
Aktualna wersja
Xxl (Dyskusja | wkład)

Linia 1: Linia 1:
-Opisana metoda pozwala skonwertować kolorową grafikę z komputera Acorn Electron, BBC Micro i Amstrad CPC aby można ją było wyświetlać na Atari.+Opisana metoda pozwala skonwertować kolorową grafikę trybu "MODE 1" i "MODE 5" z komputera Acorn Electron, BBC Micro i Amstrad CPC aby można ją było wyświetlać na Atari.
<pre> <pre>

Aktualna wersja

Opisana metoda pozwala skonwertować kolorową grafikę trybu "MODE 1" i "MODE 5" z komputera Acorn Electron, BBC Micro i Amstrad CPC aby można ją było wyświetlać na Atari.

                ldy #0

                lda ekran_6845,y     ; bity %1...1...
                and #$08
                asl @
                asl @
                asl @
                sta color_temp
                lda ekran_6845,y
                and #$80
                ora color_temp
                sta ekran_atari,y
               
                lda ekran_6845,y     ; bity %.1...1..
                and #$04
                asl @
                asl @
                sta color_temp
                lda ekran_6845,y
                and #$40
                lsr @
                ora color_temp
                ora ekran_atari,y
                sta ekran_atari,y
               
                lda ekran_6845,y     ; bity %..1...1.
                and #$02
                asl @
                sta color_temp
                lda ekran_6845,y
                and #$20
                lsr @
                lsr @
                ora color_temp
                ora ekran_atari,y
                sta ekran_atari,y
               
                lda ekran_6845,y     ; bity %...1...1
                and #$01
                sta color_temp
                lda ekran_6845,y
                and #$10
                lsr @
                lsr @
                lsr @
                ora color_temp
                ora ekran_atari,y
                sta ekran_atari,y

Powyższą procedurę można użyć wprost lub stworzyć dzięki niej 256 bajtową tablicę a do konwersji używać szybszej procedury:

      ldy #0
 
      ldx ekran_6845,y
      lda tablica_konwersji,x
      sta ekran_atari,y
Personal tools