[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