Важная информация

User Tag List

Страница 6 из 54 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя
Показано с 51 по 60 из 531

Тема: ZX Like Pascal

  1. #51
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обновил версию Паскаля до 0.901 в первом сообщении темы, перекачайте:

    - ошибку с циклом repeat/until исправил;
    - переименовал команды вывода спрайтов, так логичнее - SpritePutClear, SpritePutAnd, SpritePutOr;
    - добавил флажки включения/отключения атрибутов спрайтов, карты и текста, флажок проверки краев спрайтов, флажки вывода на виртуальный экран спрайтов, карты и текста;
    - добавил команды очистки и вывода виртуального экрана из памяти - VirtScreenClear, VirtScreenPut; применяются для полной перерисовки экрана в памяти, а потом быстрого вывода на экран (чтоб не было мерцания).

    Теперь нужно внимательно смотреть при компиляции, какие спрайты заданы - с атрибутами или без, и будет ли использоваться вывод на обычный экран или на виртуальный экран. Формат спрайтов и спрайтов карт с атрибутами и без них немного отличается. Без атрибутов и/или проверки краев вывод спрайтов работает немного быстрее, и сами спрайты меньше занимают места в памяти примерно на 10%.

  2. #52
    Guru Аватар для ALKO
    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,257
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    183
    Поблагодарили
    86 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А зеркалки спрайтов ещё нет?

  3. #53
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    А зеркалки спрайтов ещё нет?
    пока нет, но будет в ближайшее время.
    У тебя много зеркальных спрайтов, места жалко? Просто, вывод зеркалок медленнее, чем обычных.

  4. #54
    Master Аватар для Руслан
    Регистрация
    20.10.2007
    Адрес
    Челябинск
    Сообщений
    747
    Спасибо Благодарностей отдано 
    30
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    10 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Зеркалка хороша для отрисовки заднего фона на статичном экране. Это позволяет в некоторых случаях порядочно места сэкономить.
    Последний раз редактировалось Руслан; 17.04.2015 в 16:10.
    Изготовление Картриджей для Денди 1-8 игровки с меню. (0,1,2,3,4,7,71 мапперы), для Сеги 1-8
    https://vk.com/retronicaru

  5. #55
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Руслан Посмотреть сообщение
    Зеркалка хороша для отрисовки заднего фона на статичном экране. Это позволяет в некоторых случаях порядочно места сэкономить.
    буду делать.
    Сейчас на подходе WindowGet и WindowPut - запоминание в памяти окна на экране и вывод его из памяти в любое знакоместо. Т.е., можно куски экрана запоминать, например фон под движущимся спрайтом, а потом выводить обратно. Это будет быстрее, чем вирт.экран использовать, но нужно отслеживать все перемещения спрайтов.

  6. #56
    Banned
    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    У тебя много зеркальных спрайтов, места жалко? Просто, вывод зеркалок медленнее, чем обычных
    Одна табличка в 256 байт, и ты в шоколаде

  7. #57
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от denpopov Посмотреть сообщение
    Одна табличка в 256 байт, и ты в шоколаде
    Это да. А координаты вывода как быстро посчитать? Ведь в исходном спрайте они заданы для "прямого" (формат спрайта приведен выше на этой странице).

  8. #58
    Banned
    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    А координаты вывода как быстро посчитать? Ведь в исходном спрайте они заданы для "прямого" (формат спрайта приведен выше на этой странице)
    я бы отложил Паскаль в сторону

  9. #59
    Super Moderator Аватар для Alex Rider
    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,910
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    89
    Поблагодарили
    31 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    Lightbulb

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    буду делать.
    Зеркалирование байта сделать несложно и не торомзно.
    Цитата Сообщение от denpopov Посмотреть сообщение
    Одна табличка в 256 байт, и ты в шоколаде
    Воистину, в Саботере я это оптимизировал так (в A - номер тайла, тайл выводится в буфер PaintedChar):
    Код:
    	ld l,a
    	ld h,#00
    	add hl,hl
    	add hl,hl
    	add hl,hl
    	ld de,Game.Sprites.Saboteur - #08  ; tile number was incremented
    	add hl,de
    	ex de,hl
    	ld bc,PaintedChar
    	ld h,high MaskTable
    	ld iyl,#08
    .out_saboteur_loop:	
    	ld a,(de)
    	ld l,a
    	dec h
    .saboteur_mirroring_command:
    	ld l,(hl)
    	inc h
    	ld a,(bc)
    	and (hl)
    	or l
    	ld (bc),a
    	inc bc
    	inc de
    	dec iyl
    	jp nz,.out_saboteur_loop
    Там тока еще и автомаскирование применяется, табличка зеркалирования находится перед табличкой маскирования, зеркалирование отключается засылкой nop'а в .saboteur_mirroring_command.
    А вот отзеркалить тайлы при выводе спрайта сложнее. Особенно, если спрайт частично может выходить за границы экрана. Надо либо в обратном порядке идти по тайломапу, либо по тайловому слою. Поскольку в Саботере эта процедура занимается четырьмя вещами одновременно (заполняет слой маски, копирует тайлы из фона в буфер, предотвращает вывод тайла поверх непреодолимого препятствия и, собственно, копирует тайлмап в нужный слой), ее переписывание я отложил до 128-й версии.

  10. #60
    Banned
    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    осталось сообразить, как на Паскале реализовать я просто зеркалирование байтов видел в одной деме.

Страница 6 из 54 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. PASCAL + MACRO11 (УКНЦ-ДВК).
    от hobot в разделе ДВК, УКНЦ
    Ответов: 341
    Последнее: 15.01.2022, 17:30
  2. Turbo Pascal для msx/msx2
    от Оззя в разделе MSX
    Ответов: 4
    Последнее: 23.02.2020, 23:59
  3. в розыске дисковая версия Pascal.
    от goblinish в разделе Программирование
    Ответов: 18
    Последнее: 16.08.2011, 16:30
  4. Pascal
    от Andrew771 в разделе Программирование
    Ответов: 22
    Последнее: 24.05.2011, 21:20
  5. Скопировать/вставить из/в HiSoft Pascal в эмуляторе
    от kit в разделе Программирование
    Ответов: 1
    Последнее: 05.02.2010, 15:35

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •