OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 28.03.2024, 15:44

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 48 ]  Přejít na stránku Předchozí  1, 2, 3, 4  Další
Autor Zpráva
 Předmět příspěvku: Re: První krůčky v asm na PMD
PříspěvekNapsal: 06.01.2015, 06:51 
Offline
Pan Generální
Uživatelský avatar

Registrován: 23.03.2014, 20:13
Příspěvky: 2773
Has thanked: 224 times
Been thanked: 601 times
Tak teď je asi ten správný čas na obeznámení se s "odbornou" historickou literaturou, doporučuji číst v pořadí v jakém spatřily světlo světa:

  1. Opravdoví programátoři nepoužívají Pascal - http://www.logix.cz/michal/humornik/Pojidaci.Kolacu.xp
  2. Příběh o Melovi - http://www.zive.cz/clanky/hacky-a-hacke ... fault.aspx

A potom se podívat o čem to byla vlastně řeč :lol:
[youtube]http://www.youtube.com/watch?v=7WaYYNUCWMY[/youtube]

_________________
Plesnivý sýr z Tesca, zatuchlé kuřecí řízky z Albertu, oslizlé hovězí a myší trus z Lidlu.
Nákup potravinářské inspekce v ČR, říjen 2023.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: První krůčky v asm na PMD
PříspěvekNapsal: 06.01.2015, 09:46 
Offline
Radil

Registrován: 11.12.2013, 17:35
Příspěvky: 322
Has thanked: 31 times
Been thanked: 24 times
Dovolím si drobnou OT vzpomínku na téma "zírání do assembleru". Blahé paměti jsme měli na škole předmět, jehož hlavním tématem bylo odstranit z kódu hazardy a optimalizovat ho na rychlost. Celé se to odehrávalo na simulátoru jakéhosi vymyšleného procesoru (asi aby nikdo nebyl ve výhodě). Pro získání zápočtu byla předložena úloha, kde bylo nutné vychytat všechny datové hazardy a zkrátit provádění programu v cyklech alespoň o 50 %. Ten zápočet byl klasifikovaný a známka se odvíjela od dosažené úspory strojového času.

Měli jsme ve finále všichni co dělat, abychom se na těch 50 % vůbec dostali. Když jsem potom po vyhlášení výsledků viděl, co se s tím ještě dalo dělat, tak jsem nevěřil.

To ale nebylo nic proti šoku, když v našich řadách byli odhaleni tři plagiátoři, které zkoušející usvědčil na základě příliš podobného "assemblerovského rukopisu". Vůbec nechápali, jak se na to přišlo. Normální člověk v tom nepoznal naprosto nic.

_________________
Cesta k osvícení: Commodore 64 / Atari 800XE / Atari XEGS / Amiga 500 / Amiga 1200 / PMD 85


Nahoru
 Profil  
 
 Předmět příspěvku: Re: První krůčky v asm na PMD
PříspěvekNapsal: 06.01.2015, 12:35 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 10:52
Příspěvky: 1669
Bydliště: Mliecna draha
Has thanked: 19 times
Been thanked: 124 times
Inam Myslim si ze pitajuci by sa malnajprv naucit robit slusne v asemblery kym zacne studovat kody expertou v optimalizacii. Inak ho to moze dost demotivovat.

SC1 píše:
To ale nebylo nic proti šoku, když v našich řadách byli odhaleni tři plagiátoři, které zkoušející usvědčil na základě příliš podobného "assemblerovského rukopisu". Vůbec nechápali, jak se na to přišlo. Normální člověk v tom nepoznal naprosto nic.


To az taky problem nemusi byt. Ono aj optimalny algoritmus sa da obcas reralizovat roznyou sekvenciou prikazou + pouzite registre + pouzite pametove miesta, nazvoslovie a definovane funkcie.

Na vyske sme zo spolubyvajucim robili cca polke spoluziakou na intraku zadania v C-cku. To najtazsie bolo vzdy urobit sadu programou ktore nevyzeraju rovnako ale robia to iste.

_________________
Amiga 600 + a602, Amiga 600 PCB only, Commodore 64+ZZ-RAM V1.0 512k+C1541(18k RAM)+sd2iec +9.600 Rs232, Commodore 116 + 64k upgrade, ZX 81 ISSUE1 + ZX81XRAM

http://zz-indigo.mavipet.sk/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: První krůčky v asm na PMD
PříspěvekNapsal: 06.01.2015, 13:51 
Offline
Kecka
Uživatelský avatar

Registrován: 27.11.2013, 14:57
Příspěvky: 48
Bydliště: Praha
Has thanked: 2 times
Been thanked: 22 times
zz_indigo píše:
Inam Myslim si ze pitajuci by sa malnajprv naucit robit slusne v asemblery kym zacne studovat kody expertou v optimalizacii. Inak ho to moze dost demotivovat.


To je pravda. Člověk, který si není jist v základech, tak triky (nebo řekněme "pokročilé techniky") nepochopí, a nejen to - může z nich získat falešné dojmy o tom, jak vlastně věci fungují.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: První krůčky v asm na PMD
PříspěvekNapsal: 06.01.2015, 21:54 
Offline
Radil

Registrován: 21.10.2013, 09:25
Příspěvky: 286
Has thanked: 161 times
Been thanked: 116 times
adent píše:
To je pravda. Člověk, který si není jist v základech, tak triky (nebo řekněme "pokročilé techniky") nepochopí, a nejen to - může z nich získat falešné dojmy o tom, jak vlastně věci fungují.


Naprostý souhlas...

Ale aby jsme se posunuli dál :) pro nás začátečníky platí co se nehýbe tak nežije. Proto jsem si zkusil svislý scroll...
Dělá mi to ale proužky, viz ukázka bin.
Kód:
; test šachovnice scroll

.ENGINE pmd

   .org 0
       mvi   a,7fh      ;barva
   lxi   h,49152      ;adresa obrazu
       mvi   b,20h      ;počet řádek
       mvi   c,06h      ;šířka
       mvi   e,10h
loop_h:
   mvi   d,08h      ;počet šířek na řádce (výsledek musí být 48)
sirka_w:
   mov   m,a         ;vyplnění adresy obrazu
   inx   h         ;zvýšení adresy obrazu
   dcr    c
   jnz    sirka_w      ;skok šířka čtverce
   mvi   c,06h
       xri   7fh         ;potřebuji negovat hodnotu
       dcr   d         ;snížení o jednu
       jnz   sirka_w      ;vykreslena jedna řádka
   dad   d         ;vypočítání další adresy řádku obrazu
   jc   opakovat
   dcr   b
   jnz   loop_h      ;vykreslena jedna řada čtverců
       xri   7fh         ;potřebuji negovat hodnotu
   mvi   b,20h      ;počet řádek
   jp   loop_h
opakovat:            ;skrolování svisle
   lxi   h,0b830h      ;adresa obrazu (- výpocet)
   mvi   b,08h      ;počet řádek
   mvi   c,06h      ;šířka
   mvi   d,20h      ;pro výpočet adresy (registr de)
   mvi   e,08h      ;počet šířek na řádce (výsledek musí být 48)
posuv_8:
   mov a,l         ;výpočet první řádky adresy ve čtverci
   adi   0d0h         ;tzn. +32 řádek k předchozí adrese
       mov   l,a         
   mov   a,h
   aci   07h
   mov   h,a
posuv_h:
   mov   a,m
   xri   7fh
   mov   m,a         ;vyplnění adresy obrazu
   inx   h         ;zvýšení adresy obrazu
   dcr   c
   jnz   posuv_h      ;skok šířka čtverce
   mvi   c,06h
   dcr   e         
   jnz   posuv_h      ;vykreslena jedna řádka
   mvi   e,08h      ;počet šířek na řádce (výsledek musí být 48)
   dcr   b
   jnz   posuv_8      ;překreslí 8x řádku
   mvi   b,08h      ;obnova počtu řádek
   mov a,l         ;výpočet vrchní řádky od které se bude začínat
   sui    0f0h
   mov l,a
   mov a,h
   sbi   037h
   mov   h,a
   dcr   d
   jnz    posuv_h
   jp   opakovat
   ret 
    .end


Přiložený bin - start JUMP 0000


Přílohy:
scroll.zip [259 bajtů]
737 krát
Nahoru
 Profil  
 
 Předmět příspěvku: Re: První krůčky v asm na PMD
PříspěvekNapsal: 06.01.2015, 23:08 
Offline
Kecka
Uživatelský avatar

Registrován: 27.11.2013, 14:57
Příspěvky: 48
Bydliště: Praha
Has thanked: 2 times
Been thanked: 22 times
LE WOW! :) Sice to není scroll, jen to tak působí u šachovnice, ale furt dobrý.

A jestli můžu trošku radit - kód jsem nezkoumal, už je večer, jen jsem to tak okem přelítnul - tak bych měl první tip: Při programování v asm je důležité vědět, jestli optimalizuju na velikost (tj. potřebuju narvat co nejvíc funkcí do co nejmíň bajtů), nebo jestli optimalizuju na rychlost (tj. obětuju nějaký ten bajt na to, aby to celé pracovalo rychleji). Pokud optimalizuješ napsaný kód, tak to do určité míry jde dobře, jak ukázal Busy, ale pak si musíš vybrat: Jedeš na rychlost, nebo na paměť? Ukážu ti to názorně na jedné pasáži:

Kód:
sirka_w:
   mov   m,a         ;vyplnění adresy obrazu
   inx   h         ;zvýšení adresy obrazu
   dcr    c
   jnz    sirka_w      ;skok šířka čtverce


Tohle je "optimalizace na velikost" - 5 bajtů. Ovšem zabere to při každém průchodu mnoho T navíc (dcr c a podmíněný skok) - v tomto případě to zabere 324 T. Kdybych optimalizoval na rychlost, tak tu smyčku "rozvinu", tj. zopakuju ji. Navíc tady je počet opakování konstantní (6), takže když to celé šestkrát zopakuješ, tak to sice zabere 12 bajtů, ale bude to podstatně rychlejší:

Kód:
sirka_w:
   mov   m,a         ;vyplnění adresy obrazu
   inx   h         ;zvýšení adresy obrazu
   mov   m,a         ;vyplnění adresy obrazu
   inx   h         ;zvýšení adresy obrazu
   mov   m,a         ;vyplnění adresy obrazu
   inx   h         ;zvýšení adresy obrazu
   mov   m,a         ;vyplnění adresy obrazu
   inx   h         ;zvýšení adresy obrazu
   mov   m,a         ;vyplnění adresy obrazu
   inx   h         ;zvýšení adresy obrazu
   mov   m,a         ;vyplnění adresy obrazu
   inx   h         ;zvýšení adresy obrazu


Tedy +7 bajtů (12 místo 5), ale 72 cyklů procesoru (T), ergo zrychlení 77%, a navíc ušetříš jeden registr. A to se vyplatí!

A abys to nemusel furt opakovat přes copy a paste, tak dáš:

Kód:
sirka_w:
   .rept 6
   mov   m,a         ;vyplnění adresy obrazu
   inx   h         ;zvýšení adresy obrazu
   .endm


a assembler to zopakuje za tebe.

PS: Ve skutečnosti to v tomto případě bude možná lepší i na velikost, pokud všude vyhodíš to - teď už zbytečné - MVI C, 6 před vstupem do smyčky...


Nahoru
 Profil  
 
 Předmět příspěvku: Re: První krůčky v asm na PMD
PříspěvekNapsal: 07.01.2015, 05:20 
Offline
Kecálek

Registrován: 10.07.2014, 01:57
Příspěvky: 168
Has thanked: 25 times
Been thanked: 225 times
"scroll" som napisal po svojom (snad funguje spravne ;]), novacikom prijemnu analyzu ;]
(je to sice pre iny asm, ale prepisat do preferovaneho by nemal byt problem)

Kód:
                cpu     8080
                relaxed on

                org     0   
               
                lxi     h,0xc000
                lxi     d,0x10
loop1           
                mov     a,h
                ani     0x08 
                jz      skipmvi
                mvi     a,0x3f
skipmvi
                mvi     b,8
loop2
                xri     0x3f
                mvi     c,6
loop3
                mov     m,a
                inx     h 
     
                dcr     c 
                jnz     loop3
               
                dcr     b
                jnz     loop2
               
                dad     d
                jnc     loop1
               
               

                lxi     d,0x07d0
                lxi     h,0xc000
                mvi     c,0x40
loop4
                mvi     b,0x30 
loop5
                mov     a,m
                xri     0x3f 
                mov     m,a
                inx     h 
               
                dcr     b 
                jnz     loop5
               
                dad     d
                jnc     loop4
               
                dad     b
                mov     a,h 
                ani     7
                ori     0xc0
                mov     h,a
                jmp     loop4


Nahoru
 Profil  
 
 Předmět příspěvku: Re: První krůčky v asm na PMD
PříspěvekNapsal: 07.01.2015, 12:03 
Offline
Kecka
Uživatelský avatar

Registrován: 27.11.2013, 14:57
Příspěvky: 48
Bydliště: Praha
Has thanked: 2 times
Been thanked: 22 times
ub880d píše:
(je to sice pre iny asm, ale prepisat do preferovaneho by nemal byt problem)


Vyhodil jsem první dva řádky (CPU a relaxed), dopsal ".engine pmd" a dvojtečky za návěští... a bylo :)


Nahoru
 Profil  
 
 Předmět příspěvku: Re: První krůčky v asm na PMD
PříspěvekNapsal: 08.01.2015, 18:03 
Offline
Radil

Registrován: 21.10.2013, 09:25
Příspěvky: 286
Has thanked: 161 times
Been thanked: 116 times
adent píše:
LE WOW! :) Sice to není scroll, jen to tak působí u šachovnice, ale furt dobrý.

Já vím že to jen tak vypadá, ale vypadá to dobře ;)

adent píše:
Kód:
sirka_w:
   mov   m,a         ;vyplnění adresy obrazu
   inx   h         ;zvýšení adresy obrazu
   dcr    c
   jnz    sirka_w      ;skok šířka čtverce


Tohle je "optimalizace na velikost" - 5 bajtů. Ovšem zabere to při každém průchodu mnoho T navíc (dcr c a podmíněný skok) - v tomto případě to zabere 324 T. Kdybych optimalizoval na rychlost, tak tu smyčku "rozvinu", tj. zopakuju ji. Navíc tady je počet opakování konstantní (6), takže když to celé šestkrát zopakuješ, tak to sice zabere 12 bajtů, ale bude to podstatně rychlejší:

A abys to nemusel furt opakovat přes copy a paste, tak dáš:

Kód:
sirka_w:
   .rept 6
   mov   m,a         ;vyplnění adresy obrazu
   inx   h         ;zvýšení adresy obrazu
   .endm

Díky za tip.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: První krůčky v asm na PMD
PříspěvekNapsal: 08.01.2015, 18:11 
Offline
Radil

Registrován: 21.10.2013, 09:25
Příspěvky: 286
Has thanked: 161 times
Been thanked: 116 times
Tak poslení varianta, je poučením z každé rady, je kratší a rychlejší což je pozitivní výsledek.

Kód:
; test šachovnice scroll

.ENGINE pmd

   .org 0
   mvi      a,7fh         ;barva
   lxi      h,49152      ;adresa obrazu
   mvi      b,20h      ;počet řádek
   mvi      e,10h
loop_h:
   mvi      d,08h      ;počet šířek na řádce (výsledek musí být 48)
sirka_w:
   .rept   6            ;makro 6x opakuje příkazy mezi .endm
   mov      m,a         ;vyplnění adresy obrazu
   inx      h         ;zvýšení adresy obrazu
   .endm
   xri      7fh         ;potřebuji negovat hodnotu
   dcr      d         ;snížení o jednu
   jnz      sirka_w      ;vykreslena jedna řádka
   dad      d         ;vypočítání další adresy řádku obrazu
   jc      opakovat
   dcr      b
   jnz      loop_h      ;vykreslena jedna řada čtverců
   xri      7fh         ;potřebuji negovat hodnotu
   mvi      b,20h      ;počet řádek
   jp      loop_h
opakovat:               ;skrolování svisle
   lxi      h,0c000h      ;adresa obrazu
   lxi      d,007d0h      
   mvi      c,30h      ;počet znaků na řádce (48)
   mvi      b,20h
posuv_h:
   mov      a,m
   xri      7fh
   mov      m,a         ;vyplnění adresy obrazu
   inx      h         ;zvýšení adresy obrazu
   dcr      c
   jnz      posuv_h      ;vykreslena jedna řádka
   mvi      c,30h      ;počet znaků na řádce (48)
   dad      d
   jnc      posuv_h   
   mov      a,l         ;výpočet vrchní řádky od které se bude začínat
   sui      0c0h
   mov      l,a
   mov      a,h
   sbi      03fh
   mov      h,a
   dcr      b
   jnz      posuv_h
   jp      opakovat
   .end


Rád bych zkusil pohyb šachové figurky po šachovnici. Má nebo je někde nějaká jednoduchá ukázka pohybu s sprajtem?


Přílohy:
scroll_2.zip [243 bajtů]
716 krát
Nahoru
 Profil  
 
 Předmět příspěvku: Re: První krůčky v asm na PMD
PříspěvekNapsal: 08.01.2015, 22:13 
Offline
Kecálek

Registrován: 10.07.2014, 01:57
Příspěvky: 168
Has thanked: 25 times
Been thanked: 225 times
mmartinka píše:
Tak poslení varianta, je poučením z každé rady, je kratší a rychlejší což je pozitivní výsledek.

este Busyho pripomienka cislo 2 (a ako sa vravi, aj majster tesar sa utne a tak aj busyho rutinka trpi tym co pripominal ;])

ja aby som nemusel riesit atributove kolizie (pri pouziti colorace) som kreslil zelenu. aby to bolo cervene bez kolizii, treba pridat este jednu instrukciu (do mojej verzie), to by mohla byt dalsia uloha pre kodovania chtivych zaciatocnikov ;]

a este jedna drobnost, tvoja "finalna" verzia obsahuje prebytocnu instrukciu, kto ju najde? ;]


Nahoru
 Profil  
 
 Předmět příspěvku: Re: První krůčky v asm na PMD
PříspěvekNapsal: 08.01.2015, 23:58 
Offline
Radil
Uživatelský avatar

Registrován: 13.05.2013, 17:48
Příspěvky: 529
Bydliště: Košice
Has thanked: 423 times
Been thanked: 265 times
mmartinka píše:
Rád bych zkusil pohyb šachové figurky po šachovnici. Má nebo je někde nějaká jednoduchá ukázka pohybu s sprajtem?
Pre nakreslenie spritov odporúčam použiť náš RM-TEAM 8bit Sprite Editor.

Pre konkrétny prípad šachovej figúrky bude stačiť nemaskovaný sprite, ktorý sa bude zobrazovať napr. invertovane voči pozadiu, teda konkrétnemu políčku. To si ale vyžiada, aby boli čierne a biele figúrky odlíšené aj kresbou. Pre daný príklad ukážky zobrazenia spritu, to ale postačuje.
Kód:
; I: HL=adresa VRAM, DE=adresa dát spritu
DrawSprite:
   mvi   c,32  ; výška 32 mikroriadkov
DrawSpriteL:
   mvi  b,6    ; šírka 6 znakových pozícií
DrawSpriteR:
   ldax d      ; byte predlohy
   xra  m      ; "invertuj" s obsahom VRAM
   mov  m,a    ; a ulož do VRAM
   inx  d      ; posuň ukazatele
   inx  h
   dcr  b      ; opakuj pre celú šírku
   jnz  DrawSpriteR
   mov  a,c    ; odpamätaj zostávajúcu výšku
   mvi  c,64-6 ; posuň sa na ďalší mikroriadok VRAM
   dad  b
   mov  c,a    ; obnov zostávajúcu výšku
   dcr  c      ; opakuj pre celú výšku
   jnz  DrawSpriteL
   ret
Pre zmazanie spritu sa rutina zavolá z rovnakými parametrami.
Pohyb spritu je už iba zmena adresy VRAM medzi volaniami rutiny.

_________________
https://pmd85.borik.net - PMD 85 Emulátor, PMD 85, PMD 32-SD
https://pp01.borik.net - PP 01 Emulátor, PP 01, SD-ROM Modul


Nahoru
 Profil  
 
 Předmět příspěvku: Re: První krůčky v asm na PMD
PříspěvekNapsal: 09.01.2015, 09:24 
Offline
Kecálek

Registrován: 10.07.2014, 01:57
Příspěvky: 168
Has thanked: 25 times
Been thanked: 225 times
prave naopak, kedze sa kresli po sachovnici, odporucam maskovane sprite, aby figurky vypadali rovnako na bielych aj na ciernych poliach.
Kód:
                cpu     8080
                relaxed on 
               
farba           equ     0x80

                org     0
               
                lxi     h,0xc000
                lxi     d,0x10
loop1           
                mov     a,h
                ani     0x08
                mvi     a,farba
                jz      skipmvi
                xri     0x3f
skipmvi         
                mvi     b,8
loop2
                xri     0x3f
                mvi     c,6
loop3
                mov     m,a
                inx     h
               
                dcr     c
                jnz     loop3   
               
                dcr     b
                jnz     loop2
               
                dad     d
                jnc     loop1
               
                lxi     h,figurka
                lxi     d,0xc000
                call    draw_piece
               
                lxi     h,figurka
                lxi     d,0xc006
                call    draw_piece
               
                lxi     h,figurka
                lxi     d,0xc40f
                call    draw_piece
               
                ret
               
                ;hl=sprite de=screen position
draw_piece
                mvi     c,32
draw_loop1
                mvi     b,6
draw_loop2
                ldax    d
                ana     m
                inx     h
                ora     m
                inx     h
                stax    d
                inx     d
                dcr     b
                jnz     draw_loop2
               
                mov     a,e
                adi     0x40-6
                mov     e,a
                jnc     skipinr
                inr     d
skipinr
                dcr     c
                jnz     draw_loop1
                ret
               
figurka
                db      255,0,255,0,255,0,255,0,255,0,255,0
                db      255,0,255,0,255,0,255,0,255,0,255,0
                db      255,0,255,0,255,0,255,0,255,0,255,0
                db      255,0,255,0,255,0,255,0,255,0,255,0
                db      255,0,255,0,255,0,192,0,255,0,255,0
                db      255,0,255,0,199,0,192,30,254,0,255,0
                db      255,0,255,0,193,48,192,55,252,0,255,0
                db      255,0,255,0,192,60,192,59,252,1,255,0
                db      255,0,207,0,192,14,192,47,252,1,255,0
                db      255,0,199,32,192,15,192,55,252,1,255,0
                db      255,0,199,48,192,63,192,27,252,1,255,0
                db      255,0,199,48,192,63,192,47,252,1,255,0
                db      255,0,199,32,192,63,192,55,252,1,255,0
                db      255,0,207,0,192,63,192,59,252,0,255,0
                db      255,0,223,0,192,32,192,63,254,0,255,0
                db      255,0,255,0,199,32,192,63,254,0,255,0
                db      255,0,255,0,199,48,192,31,254,0,255,0
                db      255,0,255,0,195,48,192,31,255,0,255,0
                db      255,0,255,0,193,56,192,31,255,0,255,0
                db      255,0,255,0,192,60,192,31,255,0,255,0
                db      255,0,223,0,192,62,192,31,255,0,255,0
                db      255,0,207,0,192,63,192,31,252,0,255,0
                db      255,0,199,32,192,63,192,63,240,1,255,0
                db      255,0,195,48,192,63,192,63,224,7,255,0
                db      255,0,195,24,192,0,192,0,224,12,255,0
                db      255,0,195,56,192,63,192,63,224,15,255,0
                db      255,0,195,48,192,63,192,63,224,7,255,0
                db      255,0,199,0,192,0,192,0,240,0,255,0
                db      255,0,255,0,255,0,255,0,255,0,255,0
                db      255,0,255,0,255,0,255,0,255,0,255,0
                db      255,0,255,0,255,0,255,0,255,0,255,0   
                db      255,0,255,0,255,0,255,0,255,0,255,0 


Nahoru
 Profil  
 
 Předmět příspěvku: Re: První krůčky v asm na PMD
PříspěvekNapsal: 09.01.2015, 14:20 
Offline
Radil

Registrován: 21.10.2013, 09:25
Příspěvky: 286
Has thanked: 161 times
Been thanked: 116 times
rombor píše:
mmartinka píše:
Rád bych zkusil pohyb šachové figurky po šachovnici. Má nebo je někde nějaká jednoduchá ukázka pohybu s sprajtem?
Pre nakreslenie spritov odporúčam použiť náš RM-TEAM 8bit Sprite Editor.

O vašem editoru spritu vím a také jsem ho použil :)

Díky za kód funguje parádně, ale ještě prozkoumat to s maskováním.
Příloha:
otisk.png
otisk.png [ 6.34 KiB | Zobrazeno 29206 krát ]


Nahoru
 Profil  
 
 Předmět příspěvku: Re: První krůčky v asm na PMD
PříspěvekNapsal: 11.01.2015, 18:34 
Offline
Radil

Registrován: 21.10.2013, 09:25
Příspěvky: 286
Has thanked: 161 times
Been thanked: 116 times
rombor píše:
mmartinka píše:
Rád bych zkusil pohyb šachové figurky po šachovnici. Má nebo je někde nějaká jednoduchá ukázka pohybu s sprajtem?
Pre nakreslenie spritov odporúčam použiť náš RM-TEAM 8bit Sprite Editor.

Stahl jsem si vaši poslední verzi a nakreslil si pár figurek.
Mě osobně chybělo:
skrytí linek mezi pixely;
vedlejší náhled obrázku s maskou;

Jinak super prográmek...


Přílohy:
figurky2.png
figurky2.png [ 6.66 KiB | Zobrazeno 29142 krát ]
Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 48 ]  Přejít na stránku Předchozí  1, 2, 3, 4  Další

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 5 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz