(ОСНОВНОЕ В ПРЕДЫДУЩЕМ СООБЩЕНИИ!)
Значит, для процедуры Call_DrawSPRITE1 нужно адрес тайла в DE ( если в HL, то можна будет позже ПОПРОБЫВАТЬ переделать процедуру чтобы не перекидывать DE=HL)Zorko wrote: 02 Jun 2021, 02:53 На момент вызова этой процедуры адрес тайла находится в HL, а координаты - в соотв. переменных _GrTiles_x и _GrTiles_y - их можно взять в произвольном месте кода.
_GrTiles_x и _GrTiles_y нужно высчитывать и в HL =$4000+(Gr_DrawTile_Y*64)+Gr_DrawTile_X
Смотри пример в выложеном архиве.
ЭТО ОБЯЗАТЕЛЬНО!Zorko wrote: 02 Jun 2021, 02:53 По поводу переключения на экранную память в Львове я ещё думаю. Видимо, тайлы надо размещать выше #8000,
"а в конце переключаться назад." - КОНЕЧНО! СМ.ПРОЦ LabelA(Call_DrawSPRITE1);Zorko wrote: 02 Jun 2021, 02:53 а лабиринты можно и ниже. Если щёлкать экраном (всего одна операция OUT) будет не накладно, тогда можно переключаться на экранную память в начале вывода тайла, а в конце переключаться назад.
ОНА ТАК И УСТРОЕНА!
В начале
XraA;Out_($C2); // включить видео ОЗУ
в конце
MviA($02);Out_($C2); // отключить видео ОЗУ
поэтому лабиринты могут быть где угодно В ОТЛИЧИИ ОТ ТАЙЛОВ КОТОРЫЕ ДОЛЖНЫ НАХОДИТСЯ С $8000 - ...
ДА НИЧЕГО СТРАШНОГО! ВОТ ТОЛЬКО В БУДУЩИХ ПРОБАХ ЗАДАВАЙ ЯВНО РАЗНЫЕ ПАРАМЕТРЫ В ПРОЦЕДУРУ Т.Е. НАПРИМЕР Gr.DrawTile(10, 10, 1); надо было не ДВЕ "10" а скажемZorko wrote: 02 Jun 2021, 02:53 Сделал не совсем то, что ты хотел, но приблизительно. Рыба есть, основа положена.
Gr.DrawTile(10, 20, 1); чтобы сразу можна было чётко находить их в декомпиляции!
Ага!... а как же!...Zorko wrote: 02 Jun 2021, 02:53 Теперь не надо ничего дизассеблировать, просто добавить в GrTiles.c подпрограмму вывода тайла на асме, перекомпилировать её (GrTiles.Def -> F11). И пересобрать Bolder16K -> F12.
Не, не смущает! Меня как видишь другое смущает, читай далее!Zorko wrote: 02 Jun 2021, 02:53 Да, пусть тебя не смущает размер бинаря. Сейчас туда попали все уровни, а они и весят примерно полтора килобайта.
Ты вроде сам предложил портировать игру! А тепер хочешь все тупо скинуть на меня - "не надо ничего дизассеблировать... добавить в GrTiles.c... перекомпилировать ...пересобрать "
ну а я в свою очередь помог чем смог, а если тебе далее не интересно, то пусть эти все наработки ожидают следующего "пассажира"!




