filling

ZXNet echo conference «code.zx»

From Kirill Frolov To Oleg Grigoriev 5 November 1999

Press RESET immediately, Oleg! 03 Nov 99 23:54, Oleg Grigoriev wrote to Kirill Frolov: OG>>> Perversion! Everything is done according to tables. Table for addresses and table OG>>> masks. Like this, for example: KF>> Compare the size of the tables and my program! If 3d KF>> you don’t need a wire, it’s easier without tables. OG> Ha! That's how you get to basic. :) If you don't need it quickly, why not? Saves memory. KF>>>> Y must be checked for overflow >= 192 ! OG>>> No need. The corresponding addresses in the ROM are indicated. KF>> IN RAM! I erased the breakdown in vain! OG> IN ROM! I erased it in vain. :) OG> Take it again, fascist: [...] I don't know what your program does. See for yourself: Hi Low S1 S0 00 L4 L3 l3 l2 l0 L2 L1 L0 C4 C3 C2 C1 C0 C0..4 column (horizontal) L0..4 line (vertical) l0..3 substring 0..7 S0..1 screen selector 5 / 7 (01/10) Now think about what will happen if L3 and L4 go beyond the limits? There is no way this will get into the ROM. And CALL and RET take a total of 27 clock cycles!!! ;;; ld bc,line*100h+column ld a,c and 00011111b ld l,a ld a,b rrca rrca and 11100000b or l ld l,a ld a,b rrca rrca rrca and 00011000b ld h,a ld a,b and 00000111b or h or ScreenSelector ld h,a Kirill Frolov. [ZX]

From Oleg Grigoriev To Kirill Frolov 6 November 1999

Let your enemies, Kirill, die without sons! Fri 5 Nov 1999 at 01:59, Kirill Frolov ═> Oleg Grigoriev: OG>> Ha! That's how you get to basic. :) KF> If you don’t need it quickly, why not? You always have to be quick, otherwise you'll end up with Windows. OG>> IN ROM! I erased it in vain. :) OG>> Take it again, fascist: KF> I don't know what your program does. See for yourself: Fills a 512-byte table with addresses. The first 192 words are filled in addresses on the screen, the rest are filled with zero. KF> Hi Low KF> S1 S0 00 L4 L3 l3 l2 l0 L2 L1 L0 C4 C3 C2 C1 C0 KF> C0..4 column (horizontal) KF> L0..4 line (vertical) KF> l0..3 substring 0..7 KF> S0..1 screen selector 5 / 7 (01/10) KF> Now think about what will happen if L3 and L4 go beyond the limits? KF> This will not get into the ROM. With what joy will they go beyond? And if #0000 is not a ROM, then I stool on two legs. KF> And CALL and RET take a total of 27 clock cycles !!!KF> ;;; ld bc,line*100h+column KF> ld a,c KF> and 00011111b KF> ld l,a KF> ld a,b KF> rrca KF> rrca KF> and 11100000b KF> or l KF> ld l,a KF> ld a,b KF> rrca KF> rrca KF> rrca KF> and 00011000b KF> ld h,a KF> ld a,b KF> and 00000111b KF> or h KF> or ScreenSelector KF> ld h,a 95 тактов, если я нигде не ошибся. Плюс 27 тактов. Сравни: ;[de] =x,y ;37 тактов. ; ld h,pnttab[ ld l,e ld a,(hl) inc h ld h,(hl) or d ld l,a ;[hl] =x,y ;33 такта. ; ld a,h ld h,pnttab[ or (hl) inc h ld h,(hl) ld l,a Размер минимален - никаких call, ret на фиг не надо. [ WBR, Oleg. ][ 11:36 6 November XXXIV A.S. ] p.s. We made it, damn it! Let's tie it up, otherwise they'll laugh. Shame on the jungle! :) np: Therion '95