Я тебе тут отвечу, а то там хрен не асилил что как. Непривычно.
breeze wrote:дароф =)
как я понял у тебя уже есть минимальные наработки для граф редактора 16ц, и как я понимаю у тебя уже есть процедурка вывода спрайта в 16ц, поделишься ? просто интересно глянуть как ты это реализовывал.

Привет!
Ты хочешь что бы я в тебя исходниками кинул? И ты будешь разгребать 10 килобайт Ксасмовского текста? Или тебе конкретные процедуры вывода спрайта?
Если да, то я использую несколько вариантов печати спрайтов: столбиками по 2 бита, столбиками по восемь бит и строчкой по два бита через шесть.
Первый способ по адресации вообще как на стандартном экране
ld a,(de)
ld (hl),a
inc de
inc h
и так восемь раз, а потом
ld a,l
add a,32
ld l,a
jr c $+6
ld a,h
sub 8
ld h,a
Во втором способе использую команды SET и RES что бы по очереди печататьс во все сегменты экрана, но чтобы было меньше телодвижений в спрайте последние 2 бита в восьмерке идут раньше предпоследних, порядок печати меняется с С000 4000 Е000 6000 на С000 4000 6000 Е000
ld a,(de)
ld (hl),a
inc de
res 7,h ; адрес с С000 превращается в 4000
ld a,(de)
ld (hl),a
inc de
set 5,h ; адрес с 4000 превращается в 6000
ld a,(de)
ld (hl),a
inc de
set 7,h ; адрес с 6000 превращается в Е000
ld a,(de)
ld (hl),a
inc de
res 5,h ; адрес опять стал С000
теперь можно INC H
и опять как на стандартном экране
Ну а в строчку нужно спрайт разложить на четыре кусочка, каждый из своего сегмента (сдвинут на 2 бита) и простло LDI LDI LDI LDI... этот способ гораздо шустрее, но я пока мелкими спрайтами оперирую, скорость как бы не упирает, дальше видно будет. По этой же причине пока не извращался со стеком.