[elektro] Vonal rajzolás

Skandar Graun sgraun at gmail.com
Sat Mar 21 10:51:57 CET 2009


http://www.sinclair.hu/

Itt érdemes körülnézni, kérdezni.
A másik kedvenc gépemről is van elég sok hasonló visszafejtés, itt
találtam dokumentációt is, érdemes körülnézned.

http://enterprise.8bit.hu/ep128.html

2009/3/21 Tóth Péter <tope1 at freemail.hu>:
> Én is... :)
> Ehhez hasonlót kezdtem el, csak gépikódban.
> Aztán kezdett bonyolódni a 4 irány kezelésével, meg a 2 byte-os x
> kezeléssel.
> Ha nem marad más, átdolgozom assembly-be.
>
> Ezt a visszafejtést hol érdemes keresni? Magyar oldal alig van 10, angol
> meg több százezer...
>
> A kijelző tud auto increment-et, lehet, hogy valahol még az is kapóra jön.
>
>
> ToPe
>
> Huszti Andras írta:
>> En egy gyors megoldast valasztottam:
>>
>> void lcd_linexy(signed char dx, signed char dy, unsigned char color){
>>       //todo
>>       unsigned int ddx, ddy;
>>       signed int i, j, dirx, diry;
>>       double tg;
>>       if (dx > 0 ) {
>>               dirx = 1;
>>               ddx = dx;
>>       } else {
>>               dirx = -1;
>>               ddx = -dx;
>>       }
>>
>>       if (dy > 0 ) {
>>               diry = 1;
>>               ddy = dy;
>>       } else {
>>               diry = -1;
>>               ddy = -dy;
>>       }
>>
>>       if (ddx > ddy) {
>>               tg = (double)ddy / (double)ddx;
>>               for (i = 0; i <= ddx; i++) {
>>                       j = (double)i * tg;
>>                               lcd_put_pixel(pen_x + (i * dirx), pen_y + (j * diry), color & 0x01);
>>               }
>>       } else {
>>               tg = (double)ddx / (double)ddy;
>>               for (i = 0; i <= ddy; i++) {
>>                       j = (double)i * tg;
>>                               lcd_put_pixel(pen_x + (j * dirx), pen_y + (i * diry), color & 0x01);
>>               }
>>       }
>> }
>>
>>
>>
>
> -----------------------------------------
>          elektro[-flame|-etc]
>



More information about the Elektro mailing list