docs: TODO — пакетное чтение/запись массива байт через акселератор
Задел для будущих leaf'ов, читающих/пишущих строку или столбец пикселей одним burst'ом (как _bgi_hspan_raw/_bgi_vspan_raw), чтобы ускорить блит getimage/putimage (сейчас per-pixel _bgi_read_raw повторяет Port_Y + addr + bounds-check). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -84,6 +84,17 @@ Quick wins:
|
||||
- [ ] кэширование block-size между burst'ами (accel помнит размер)
|
||||
|
||||
Новые возможности:
|
||||
- [ ] **пакетное чтение/запись массива байт через акселератор** —
|
||||
отдельные ф-ии, которые в ОДНОМ вызове читают/пишут строку или
|
||||
столбец пикселей (гориз./верт.), а не по пикселю через
|
||||
_bgi_read_raw/_bgi_plot_raw. Аналогично тому, как сейчас рисуются
|
||||
линии (_bgi_hspan_raw/_bgi_vspan_raw задают Port_Y и адрес один раз,
|
||||
далее burst). Цель — ускорить блиттинг: getimage/putimage сейчас
|
||||
зовут _bgi_read_raw/_gfx_getpixel256_raw по-пиксельно, из-за чего на
|
||||
каждый пиксель повторяются out Port_Y + ld bc,(base) + bounds-check
|
||||
(см. разбор _bgi_read_raw). Дать `_bgi_hread_raw`/`_bgi_hwrite_raw`
|
||||
(+ vertical) с ABI как у fill-сегментов (HL=addr, B=len, E=y, буфер
|
||||
в DE) и перевести getimage/putimage на них.
|
||||
- [ ] `gfx_blit` / `gfx_blit_transparent` — block copy (LD L,L / LD A,A),
|
||||
прозрачность через bank 0x58 («FF is transparent»)
|
||||
- [ ] `gfx_xor_rect` / `gfx_or_rect` / `gfx_and_rect` / `gfx_invert_rect`
|
||||
|
||||
Reference in New Issue
Block a user