A téglák rajzolásán még lehetett optimalizálni, a régi megoldásnál rövidebb és gyorsabb is lett. Igy már elfér a továbbfejlesztett irányítás.
még az jutott eszembe az este, hogy talán a legrövidebb billentyűolvasó rutin az lenne, ha minden billre el lenne tárolva a sor, és az AND érték egymás után, így lenne egy 18 elemű tábla, és egy rövid bill olvasó, ami vagy mindig meg lenne hívva. kb (a 18 byte-ot máris le lehetett faragni 12-re)
ld hl,right
call readkey
jr z,pressed
.
.
.
read_key
ld a,(hl)
inc hl
out (0b5h),a
in a,(0b5h)
and (hl)
inc hl
ret z
ld a,(hl)
inc hl
out (0b5h),a
in a,(0b6h)
and 01h
ret z
ld a,(hl)
inc hl
out (0b5h),a
in a,(0b6h)
and 01h
ret
left db 07h,20h,03h,08h
right db 07h,04h,04h,09h
space db 08h,40h,00h,05h
És esetleg lehetne még faragni az OUTI-s megoldással
ld hl,right
call readkey
jr z,pressed
.
.
.
read_key
ld c,0b5h
outi
in a,(0b5h)
and (hl)
inc hl
ret z
outi
in a,(0b6h)
and 01h
ret z
outi
in a,(0b6h)
and 01h
ret
left db 07h,20h,03h,08h
right db 07h,04h,04h,09h
space db 08h,40h,00h,05h
Ezt lehet megnézem nálam is, mert az enyém tuti sokkal hosszabb
![ds_icon_cheesygrin :ds_icon_cheesygrin:](/Smileys/phpbb/ds_icon_cheesygrin.gif)
Sokkal rövidebb lett, legalábbis az enyém
![Smiley :)](/Smileys/phpbb/smiley.gif)
, és ha a végére kerül a billentyűolvasás, még rövidebb
![Smiley :)](/Smileys/phpbb/smiley.gif)
read_key
ld c,0b5h
outi
in a,(0b6h)
and 01h
ret z
outi
in a,(0b6h)
and 01h
ret z
outi
in a,(0b5h)
and (hl)
ret
left db 03h,08h,07h,20h
right db 04h,09h,07h,04h
space db 00h,05h,08h,40h