?login_element?

Subversion Repositories NedoOS

Rev

Rev 171 | Blame | Compare with Previous | Last modification | View Log | Download

  1. ;hl'=tileaddr for line end
  2. ;bc'=40
  3. ;hl=addrstack
  4. ;b=hgt
  5. ;c=-((width+3)/4)
  6. _prtilesfast0
  7.         ld sp,hl ;addrstack for this line
  8.         ld a,c
  9.         exx
  10.         add a,l ;(это вычитание) без переноса, т.к. читаем тайлы через inc e
  11.         ld e,a
  12.         ld d,h
  13. ;hl=tileaddr for line end
  14. ;de=tileaddr for line start
  15.         ld (prtilesfast0lineend),hl ;tileaddr for line end
  16.         ld a,(hl)
  17.         ex af,af'
  18.         ld (hl),ENDLINETILE;0xfe ;patch after last tile
  19.         ld a,(de)
  20.         inc e
  21.         ld l,a
  22.         or 0xc0
  23.         ld h,a
  24.         jp (hl)
  25. proc_endline
  26. prtilesfast0lineend=$+1
  27.         ld hl,0 ;tileaddr for line end
  28.         ex af,af'
  29.         ld (hl),a ;unpatch after last tile
  30.         ld de,32
  31.         add hl,de
  32.         exx
  33.         inc h ;move addrstack addr
  34.         djnz _prtilesfast0
  35.