Logo Menager remaping

Rasprava o AVR mikrokontrolerima, AVR projekti i drugo vezano za AVR...

Moderators: pedja089, stojke369, trax, InTheStillOfTheNight

Post Reply
buco-1
Napredujem
Napredujem
Posts: 105
Joined: 24-10-2010, 21:22

Logo Menager remaping

Post by buco-1 »

Primjetio sam da su se kod nas koristili Nokijini LCDi, grafički, i to od 3310 i 3410 često. Ako niste našli konvertor iz Logo menager bitmape i klasičnu bit mapu, lako upotrebljivu u radu s grafikom i animacijom na tom displayu, evo jedan. Pisan je naravno u assembleru za ATm8. No rutina se lako prebaci na većinu ATmega i AVR klase MCU-a. Nadam se da će vam pomoći da jednostavnije, brže i kvalitetnije napravite grafiku i animaciju za taj display.

Usput i da ne zaboravimo assembler.

Code: Select all

                .equ  Slika =0x0258         ; pozicija slike u sramu --- ovo su relativne veličine.
		.equ  Lensl =0x0450         ; velicina polja slike 504 byte / slika + 1F8h
                .equ  Flsli =0x1B20         ; pozicija slike u flashu / pocetak

LOGOM:    ldi    ZH, high(Flsli)        ;--- remaping iz LMa u bit map mode -------
        ldi    ZL, low(Flsli)        ; 0223 E2E0
        ldi    YH, high(Slika)        ; 0224 E0D2
        ldi    YL, low(Slika)        ; 0225 E5C8
        mov    tmH, YH        ; 0226 2EED
        mov    tmL, YL        ; 0227 2EDC
        clr    r25            ; 0228 2799
        ldi    r20, 0x06        ; 0229 E046
logo0:    ldi    byte, 0x08        ; 022A E028
logo1:    mov    YH, tmH        ; 022B 2DDE
        mov    YL, tmL        ; 022C 2DCD
        ldi    r16, 0x0B        ; 022D E00B
logo2:    lpm                ; 022E 95C8
        mov    r17, r0        ; 022F 2D10
        clc                ; 0230 9488
        sbrc    r17, 7        ; 0231 FD17
        sec                ; 0232 9408
        ld    r19, Y        ; 0233 8138
        ror    r19            ; 0234 9537
        st    Y+, r19        ; 0235 9339
        clc                ; 0236 9488
        sbrc    r17, 6        ; 0237 FD16
        sec                ; 0238 9408
        ld    r19, Y        ; 0239 8138
        ror    r19            ; 023A 9537
        st    Y+, r19        ; 023B 9339
        clc                ; 023C 9488
        sbrc    r17, 5        ; 023D FD15
        sec                ; 023E 9408
        ld    r19, Y        ; 023F 8138
        ror    r19            ; 0240 9537
        st    Y+, r19        ; 0241 9339
        clc                ; 0242 9488
        sbrc    r17, 4        ; 0243 FD14
        sec                ; 0244 9408
        ld    r19, Y        ; 0245 8138
        ror    r19            ; 0246 9537
        st    Y+, r19        ; 0247 9339
        cpi    r16, 0x01        ; 0248 3001
         breq    logo3        ; 0249 F0C1
        clc                ; 024A 9488
        sbrc    r17, 3        ; 024B FD13
        sec                ; 024C 9408
        ld    r19, Y        ; 024D 8138
        ror    r19            ; 024E 9537
        st    Y+, r19        ; 024F 9339
        clc                ; 0250 9488
        sbrc    r17, 2        ; 0251 FD12
        sec                ; 0252 9408
        ld    r19, Y        ; 0253 8138
        ror    r19            ; 0254 9537
        st    Y+, r19        ; 0255 9339
        clc                ; 0256 9488
        sbrc    r17, 1        ; 0257 FD11
        sec                ; 0258 9408
        ld    r19, Y        ; 0259 8138
        ror    r19            ; 025A 9537
        st    Y+, r19        ; 025B 9339
        clc                ; 025C 9488
        sbrc    r17, 0        ; 025D FD10
        sec                ; 025E 9408
        ld    r19, Y        ; 025F 8138
        ror    r19            ; 0260 9537
        st    Y+, r19        ; 0261 9339
logo3:    adiw ZH:ZL, 1        ; 0262 9631
        dec    r16            ; 0263 950A
         brne    logo2        ; 0264 F649
        dec    byte            ; 0265 952A
         brne    logo1        ; 0266 F621
        mov    tmH, YH        ; 0267 2EED
        mov    tmL, YL        ; 0268 2EDC
        dec    r20            ; 0269 954A
         breq    logo4        ; 026A F009
        rjmp    logo0        ; 026B CFBE
logo4:    ret                
        ;

Today's scientists have substituted mathematics for experiments, and they wander off through equation after equation, and eventually build a structure which has no relation to reality.
- Nikola Tesla
User avatar
InTheStillOfTheNight
Odlično uznapredovao
Odlično uznapredovao
Posts: 938
Joined: 01-06-2006, 17:54
Location: Zagreb

Re: Logo Menager remaping

Post by InTheStillOfTheNight »

Buco, ja mislim da mene i tebe zapravo rasteže valna frekvencija razmišljanja... Nakon svih tvojih postova koje sam pročitao vidim da stvarno razumiješ MCU, i s tobom bi bilo jako dobro odrađivati poslove na nekoj profesionalnoj razini...

Nekad sam srao o C-u jer sam koristio BASCOM, danas serem po assembleru jer koristim C, no i kad koristim assembler ne serem po C-u..

Nevažno je zapravo u čemu programer piše program... Prošlo je dosta godina od kada sam krenuo ozbiljnije programirati, što svakako znači poznavanje i assemblera...

Kod tebe mi samo jedan stvar drastično ne ide u glavu:

Ok, ja znam dosta assemblera i sigurno mogu uzeti tvoj assemblerski program i neke stvari promijeniti da bude još bolji. Mogu uzeti i prazan dokument te napisati ponovno assemblerski program koji je kraći od postanog.

Želim reći da osoba koja poznaje assembler i dobro se služi dokumentacijom nikad neće riješenje tražiti na forumu... Osoba koja ima problema sa assemblerom, ima ih u svojoj glavi i nitko drugi tu ne može pomoći. Sam pojam borbe u assembleru za sve one koji ga ne poznaju znači SF.

No dakako moram doći do onog što mi kod tebe stvarno nije jasno:
Dakle, da ja trebam ovakav program, jednostavno bih ga napisao, a svi oni koji ga možda trebaju, ne znaju ga implementirati, compilirati, i sve ono što ide iza toga kad stvar treba proraditi...

Ne osporavam ja da je assembler ipak vrh vrha programiranja, bez obzira radilo se o PC-u ili CPU, pa ja bih volio recimo čitati tvoj topic samo o assembleru...

Ako već dobro poznaješ assembler bilo bi fenomenalno da napravis topic u AVR-u u kojem svatko tko želi može naučiti nešto o assembleru AVR-a... Valjda ti je jasno da 5 ljudi koji mogu razumjeti assemblerski napisan program isto tako mogu ga i sami napisati????
InTheStillOfTheNight
buco-1
Napredujem
Napredujem
Posts: 105
Joined: 24-10-2010, 21:22

Re: Logo Menager remaping

Post by buco-1 »

InTheStillOfTheNight wrote:Želim reći da osoba koja poznaje assembler i dobro se služi dokumentacijom nikad neće riješenje tražiti na forumu...
Iz mojih iskustava proizlazi sličan zaključak. No postavljanje rutna pisanih u assembleru je pokušaj da se potakne rasprava između ljudi koji ga razumiju i služe se njime, u većoj ili manjoj mjeri. No sa jednim ciljem:
Ako o nečemu nema rasprave za ostale to kao da i ne postoji, tako da bi rasprava o nekoj rutini, upotrebi neke naredbe, načinu postavljanja problema, inicijalizacija sustava, korištenje naredbi, rama, stoga, eeproma itd... mogla potaći mlade ljude da razmisle i o assembleru kao mogućoj opciji u izradi programa za svoje mikroračunalo.
InTheStillOfTheNight wrote:Ok, ja znam dosta assemblera i sigurno mogu uzeti tvoj assemblerski program i neke stvari promijeniti da bude još bolji.
Jedan od problema ljudi koji pišu u assembleru jest mala i gotovo nikakva interakcija s ostalima. Čini mi se kao da su koji put zatvoreni u svoje svjetove. Možda griješim.
InTheStillOfTheNight wrote:Dakle, da ja trebam ovakav program, jednostavno bih ga napisao, a svi oni koji ga možda trebaju, ne znaju ga implementirati, compilirati, i sve ono što ide iza toga kad stvar treba proraditi...
On je tu, kao što rekoh, dat više kao poticaj za raspravu i sve ono navedeno na početku.
Točno je da će oni koji neznaju asembler teško implementirati tu rutinu, koliko god to jednostavno bilo. Možda ipak pitaju kako i tako krenemo assemblerskom ulicom pa kamo stignemo.
InTheStillOfTheNight wrote:Valjda ti je jasno da 5 ljudi koji mogu razumjeti assemblerski napisan program isto tako mogu ga i sami napisati????
To apsolutno stoji, naravno.
No mislim i da je i njima dobro došla interakcija s kolegama. Puno se stvari da naučiti razmjenjujući iskustva, drugačije načine postavljanja problema ili korištenja naredbi. To isto rade programeri u višim prog. jezicima.

Što se pisanja nekog "epa" o assebmleru u AVR-u tiče, neki dan sam razmišljao o tome no ja sam loš u tim stvarima. Možda bi išlo preko primjera. Pojašnjavajući pojedine programske odsjećke, stvaranje samog programa, dokumentacija MCUa... Ideja ti je ok, no treba mi malo vremena.

Pozdrav
Today's scientists have substituted mathematics for experiments, and they wander off through equation after equation, and eventually build a structure which has no relation to reality.
- Nikola Tesla
User avatar
InTheStillOfTheNight
Odlično uznapredovao
Odlično uznapredovao
Posts: 938
Joined: 01-06-2006, 17:54
Location: Zagreb

Re: Logo Menager remaping

Post by InTheStillOfTheNight »

A ja sam počeo pisati tartufe i znam da sam uzeo projekt koje se ne može napisati za par dana. To je proces postova koji traje godinu ili više dana dok na jednom mjestu pokušam skupiti dovoljno teksta da svaki početnik stvarno ima od nekud krenuti.
No ja ću se bazirati na C, a assembler ću sigurno objašnjavati kad mislim da bi trebao biti post o onome što MCU stvarno radi. Pogotovo kod vectora i ISR-a jer za razumjevanje toga sigurno moram otići na HEX file u assembler jer C to jednostavno ne razumije...
InTheStillOfTheNight
buco-1
Napredujem
Napredujem
Posts: 105
Joined: 24-10-2010, 21:22

Re: Logo Menager remaping

Post by buco-1 »

InTheStillOfTheNight wrote:A ja sam počeo pisati tartufe i znam da sam uzeo projekt koje se ne može napisati za par dana. To je proces postova koji traje godinu ili više dana dok na jednom mjestu pokušam skupiti dovoljno teksta da svaki početnik stvarno ima od nekud krenuti.
Naravno da takve stvari tra\e vrijeme i strpljivost. Imam ja nekih iskustava s pisanjem sličnih tekstova. Bili su vezani na spečifina područja, pisao sam ti u PM-u.
Razmislio sam sinoć i hm, pokušati ću porenuti nešto oko assemblera.

Pozdrav!
Today's scientists have substituted mathematics for experiments, and they wander off through equation after equation, and eventually build a structure which has no relation to reality.
- Nikola Tesla
Post Reply