logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

XMega 128 - Program do konwersji czcionek na Asemmbler

ASMnauka_ 09 Sie 2016 13:22 1209 5
REKLAMA
  • #1 15857960
    ASMnauka_
    Poziom 15  
    Witam
    Szukam programu do konwersji czcionek systemowych na Asemmbler.
    Istotne jest to, by program ten zapisywał poszczególne bajty od lewej do prawej i od góry na dół.
    Owszem znalazłem fajny program, ale konwertuje on na C, a przerabianie każdej litery, czy cyfry jest uciążliwe.
    converter-...-win32.rar Download (13.24 MB)
  • REKLAMA
  • #2 15858115
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #3 15858206
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #4 15858511
    ASMnauka_
    Poziom 15  
    Piotrus_999 napisał:
    A jaka to różnica jak masz go skompilowanego w pliku obiektowym. Linkujesz tylko ze swoim asemblerem.

    Nie mam pojęcia jak to zrobić.
    Piotrus_999 napisał:
    Czy font jest z lewa na prawo, prawo na lewo, góra - dół czy dół - góra to jest niewielka zmiana logiki programu.

    Owszem ale i trzeba zmienić sposób okna auto inkrementacji (SSD 1963).
    Piotrus_999 napisał:
    Pisanie wyświetlania fontów w asm to pomysł wg mnie chybiony - dobrze napisane C/C++ nie będzie gorsze niż (a stawiam że lepsze niż 95%) wytworów w asm.

    Każdy robi, co lubi ...

    niveasoft, dziękuję, lecz niestety Twój programik zapisuje fonty blokami.
    A co istotne każda litera ma tą samą szerokość, a moim zdaniem jest to marnowanie miejsca.
  • REKLAMA
  • #5 15858540
    Konto nie istnieje
    Konto nie istnieje  
  • #6 15860037
    ASMnauka_
    Poziom 15  
    Niestety nie znalazłem :(
    Ale jest coś ciekawego w programie, który zamieściłem, mianowicie zapisuje on rzeczywistą szerokość i wysokość każdej litery, znaku, cyfry.
    Na przykład
    Kod: VB.net
    Zaloguj się, aby zobaczyć kod

    Jest to mała litera m (font_times_new_roman24) program automatycznie obcina zbędne piksele (zera).
    Na początku chciałem właśnie wykorzystać kodowanie ARL, by zmniejszyć rozmiar każdego znaku.
    Ale teraz jest to zbędne.
    I oto właśnie chodzi.
    Co prawda teraz robię to ręcznie, w następującej kolejności
    40,30,150
    gdzie 40 = szerokość czcionki
    30 = wysokość czcionki
    150 = ilość bajtów
    Dopiero po tych informacjach jest zapisana całą czcionkę.

    Przyglądając się Twemu przykładowi stwierdzam, że odczyt blokami nie jest zbyt szybki.
    Kod: VB.net
    Zaloguj się, aby zobaczyć kod

    Trzeba dwóch pętli do odczytu bloku.
    Natomiast ja wzorowałem się na przykładzie kolegi Roberta Wołgajewa.
    Obsługa wyświetlacza TFT
    Sterowanie wyświetlaczy
    kolorowych z kontrolerem
    SSD1963 w Bascom AVR

    Po podstawieniu zmiennych rozmiarów szerokości i wysokości okna auto
    inkrementacji podstawiam ilość bajtów każdego znaku i już.
    Teraz już tylko sprawdzenie, czy jest 0, czy 1.
    Program do odczytu skończony.
    Dla osób, które chcą zacząć pisać w ASM dodaję część programu odpowiedzialną za odczyt znaków za zmiennej.
    Kod: VB.net
    Zaloguj się, aby zobaczyć kod

    I w rejestrze R0 mamy interesujący nas kod znaku ASCII
    Czyż to nie jest proste ?
REKLAMA