Так это две независимые процедуры. Причём и та и другая ничего в порт не пишут. Только читают. И порты эти разные.
Вид для печати
Так это две независимые процедуры. Причём и та и другая ничего в порт не пишут. Только читают. И порты эти разные.
Курсор управляется от клавиатуры? Да. Значит уже не независимые процедуры.
Отключи опрос клавиатуры и увидишь эффект.
Банально в Spine выруби клаву хотя бы. И дрожание тут же прекращается.
Вот это уже интересная конкретика. Спасибо за намёточку, - я подумаю...
У тебя там по адресу #AA6D переход похоже неправильный.
Из-за этого при нажатии SSHIFT`а всё улетает в нирвану
Мы не тестим Героев. Мы тестим мышку. :tongue:
Ну тогда отключай управление от клавиатуры, и оставляй только мышку.
Алиллуя, братие и сестры! Варик начат!
https://d.radikal.ru/d23/2104/f0/6f7b6b7a5b00.png
Тайлы все оцифровал.
Джерри, есть чёнить ультрабыстрое на тему тайлинга? Мысли там, подходы?
Я храню их в стандартном виде:
монохром линейно, т.е.
2 байта первой строчки
2 байта второй строчки
...
2 байта шестнадцатой строчки
+
2 байта цвета первой строчки знакомест
2 байта цвета второй строчки знакомест
-----------------
32+4=36 байт ИТОГО
Быстрая мегакидалка-спрайтовалка-на_экран_выводилка существует?
И касательно процедуры определения адреса в экране по координатам знакоместа 32х24
Я юзаю:
Но видел у Санчеза такую:Код:;**SCRAD2** АДРЕС В ЭКРАНЕ ПО X И Y (в знакоместах)
;ВХ: hl - X И Y В ЗНАКОМЕСТАХ
;ВЫХ: hl - АДРЕС В ВИДЕОПАМЯТИ
SCRAD2 ld a,h
ex af,af'
ld a,l
call 3742
ex af,af'
or l
ld l,a
ret
Кто такты умеет считать? Сколько та и другая жрут?Код:;расчёт экранного адреса по координатам с точностью до знакоместа
;вх - hl - координаты в знакоместах
;вых - hl - адрес на теневом экране
get_screen_adr_sym ld a,l
rrca
rrca
rrca
and #e0
or h
ld h,a
ld a,l
and #18
add a,high shadow_screen
ld l,h
ld h,a
ret
как ты собираешься кодить игры, сам не научившись такты считать в уме??
вторая 67 тактов, первая заведомо медленней (пзу, серьёзно?)
навскидку, с таблицей можно сделать раза в полтора быстрее:
Код:ld a,h
ld h,high TABLE
or (hl)
set 5,l ; или "inc h", если разбить таблицу
ld h,(hl)
ld l,a
Готовые примеры в студию, пожалуйста.
Такты это не ко мне. Я только Варик умею писать. Считать такты не умею :tongue: