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

User Tag List

Страница 31 из 32 ПерваяПервая ... 272829303132 ПоследняяПоследняя
Показано с 301 по 310 из 312

Тема: Программирование на ассемблере

  1. #301
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,574
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    399
    Спасибо Благодарностей получено 
    1,207
    Поблагодарили
    394 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Раз уж пошла такая пьянка... ivagor, svofski, очень интересует ваше компетентное мнение. Я так понимаю, что если вы не смотрите мои ролики, то наверняка хотя бы исходники просматриваете. Цель моих роликов показать как что делается, так сказать, "в лоб", без каких-то ухищрений. Чтобы несведущие люди поняли, что нет здесь никакого волшебства - всё достаточно легко и просто. И тем не менее, мне немного стыдно показывать эти вещи широкой аудитории, так как я понимаю, что я где-то ошибаюсь, что-то можно сделать оптимальнее (короче, быстрее и т.д.). В общем, покритикуйте, пожалуйста, мой код, несмотря на то, что он в неправославных мнемониках Z80.
    С уважением, Станислав.

  2. #301
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #302
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,843
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,818
    Поблагодарили
    1,044 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Можно наверно было замахнуться на мультиплатформенный пример, хотя с учетом видео получилось бы пожалуй слишком громоздко, разбухнет в разы.
    Есть что оптимизировать, например в выводе спрайта вместо чтения в C можно сразу ORить и XORить с (HL). Но эту процедуру и так придется переделать, если выводить такие большие спрайты сразу на экран, то для уменьшения мигания стоит это делать построчно.
    Пожелание от самозванного орфографа поменять strite на sprite.
    Нескромный вопрос - откуда графика?
    Последний раз редактировалось ivagor; 06.02.2024 в 20:25. Причина: убрал ошибку

  4. Этот пользователь поблагодарил ivagor за это полезное сообщение:

    CityAceE (06.02.2024)

  5. #303
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,116
    Спасибо Благодарностей отдано 
    793
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    403 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Я так понимаю, что если вы не смотрите мои ролики, то наверняка хотя бы исходники просматриваете.
    Я ролики смотрю, но обычно с выключенной головой. Да и зачем тут критиковать -- выжимать такты надо тогда, когда их не хватает. Понятность имеет большую ценность.
    Больше игр нет

  6. Этот пользователь поблагодарил svofski за это полезное сообщение:

    CityAceE (06.02.2024)

  7. #304
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,843
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,818
    Поблагодарили
    1,044 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Пятый посмотрел целиком.

    - - - Добавлено - - -

    Согласен со svofski, что понятность в обучающих примерах на первом месте. Но все же моменты вроде упомянутого лишнего чтения в C лучше убирать, они мешают понятности как и излишняя оптимизация.

  8. #305
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,574
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    399
    Спасибо Благодарностей получено 
    1,207
    Поблагодарили
    394 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    в выводе спрайта вместо чтения в C можно сразу ORить и XORить с (HL)
    Отлично! Спасибо! Вот я реально забыл про возможность OR'ить и XOR'ить сразу с (HL). А заодно и от лишних PUSH/POP BC удалось избавиться. Превосходно!

    Цитата Сообщение от ivagor Посмотреть сообщение
    Нескромный вопрос - откуда графика?
    Я несколько раз в разных частях видео упоминал и в комментариях писал, что 99% графики дёрнуто из Rodland (Rod-Land) со Спектрума. Вода из Dizzy. Кирпичи на стене по-моему из Montana Jones 2. Наверное, что-то ещё откуда-то дёргал, но уже не вспомню.

    Цитата Сообщение от ivagor Посмотреть сообщение
    Пожелание от самозванного орфографа поменять strite на sprite.
    Тоже, конечно, поправлю
    Последний раз редактировалось CityAceE; 06.02.2024 в 22:55.
    С уважением, Станислав.

  9. Этот пользователь поблагодарил CityAceE за это полезное сообщение:

    ivagor (07.02.2024)

  10. #306
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,843
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,818
    Поблагодарили
    1,044 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Адаптировал было урок 7 CityAceE для вектора, но потом подумал - есть же Chip&Dale Дениса Федина (или ускоренный вариант). Примерно тот же подход, только в цвете и уже не мигает (ну от мигания и CityAceE избавится в следующих уроках).
    А может имеет смысл попробовать сделать подобный простенький движок с открытым исходником для вектора? Вдруг у кого-то есть идеи по геймдизайну и он умеет рисовать (или знает где взять/сконвертить графику), но не хочется разбираться в деталях векторовского железа. Знание ассемблера 8080 все равно понадобится, но без железных подробностей. В крайнем случае можно даже замахнуться на мультиплатформенный (хотя бы на пару компов с 8080) движок, если кто-то из невектористов заинтересуется. Ключевой момент - речь об очень простом движке, примерно как в Чипе с Дейлом.

  11. Эти 3 пользователя(ей) поблагодарили ivagor за это полезное сообщение:

    CityAceE (15.02.2024), Improver (15.02.2024), parallelno (16.02.2024)

  12. #307
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,574
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    399
    Спасибо Благодарностей получено 
    1,207
    Поблагодарили
    394 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    А может имеет смысл попробовать сделать подобный простенький движок с открытым исходником для вектора?
    В общем-то, я примерно то же самое и делаю. Для другого компьютера на i8080 нужно будет только переписать процедуру вывода спрайта и тайлов (и, если нужно, саму графику перевести в линейный формат и раскрасить), ну и опрос клавиатуры переделать. Да и в моём варианте эти же процедуры необходимо оптимизировать по скорости, так как я сейчас основной упор делаю на понятность, так что никаких развёрнутых циклов и запись в экран через стек.

    А вообще идея, конечно же, классная! Уверен, что ты со своим опытом сделаешь всё с максимальной оптимизацией. А если вдруг (???) потребуется какая-то подмога по Специалисту, то я конечно же подключусь.

    Кстати, изначально у меня вся графика в линейном формате. Это я специально для Специалиста её конвертировал. Могу поделиться, если вдруг нужно.

    Цитата Сообщение от ivagor Посмотреть сообщение
    Адаптировал было урок 7 CityAceE для вектора
    А можно всё-таки посмотреть на эту адаптацию? Ну очень интересно посмотреть как оно на Векторе смотрится!
    С уважением, Станислав.

  13. #308
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,843
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,818
    Поблагодарили
    1,044 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Все же добавил двойную буферизацию (можно глянуть в v06x в базыре), управление курсором.
    Цитата Сообщение от CityAceE Посмотреть сообщение
    Кстати, изначально у меня вся графика в линейном формате. Это я специально для Специалиста её конвертировал. Могу поделиться, если вдруг нужно.
    Многоцветную графику (аркада, амига, атари ст) из rod-land и из диззи я бы попробовал вставить, если есть.
    Вложения Вложения

  14. Эти 3 пользователя(ей) поблагодарили ivagor за это полезное сообщение:

    CityAceE (15.02.2024), parallelno (16.02.2024), svofski (16.02.2024)

  15. #309
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,574
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    399
    Спасибо Благодарностей получено 
    1,207
    Поблагодарили
    394 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Все же добавил двойную буферизацию (можно глянуть в v06x в базыре), управление курсором.
    Прекрасно! На Векторе смотрится просто отлично! А цветов добавить, так вообще будет загляденье!

    Иван, пожалуйста, на пальцах в двух словах растолкуй свой метод двойной буферизации. У меня получается просто какая-то сложная конструкция. Или, если не жалко, ещё лучше исходник или хотя бы его часть покажи. Я тогда твой метод в следующем уроке покажу и расскажу.

    Цитата Сообщение от ivagor Посмотреть сообщение
    Многоцветную графику (аркада, амига, атари ст) из rod-land и из диззи я бы попробовал вставить, если есть.
    Увы, у меня только со Спектрума.
    С уважением, Станислав.

  16. #310
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,843
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,818
    Поблагодарили
    1,044 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Мне не хотелось напрягаться и я пошел простым путем - два буфера (экрана), рисуем в невидимом, когда нарисовали показываем и рисуем в другом невидимом, когда нарисовали показываем и круг замкнулся. В v06x в базыре видно, что два экрана и обновляющиеся части выделяются красным. Специалисту это к сожалению не подойдет, но ты же сказал в видео, что нужно рисовать спрайт в невидимом буфере и потом эту часть экрана обновлять. Понятно, что это сложнее и я туда не полез, раз можно двойную буферизацию. Есть конечно дубовый простой метод - каждый раз рисуем/копируем из оригинала в теневой буфер, накладываем спрайты и выводим на экран. Если игровая область не очень большая (например 256x128, 4 Кб) и процессор не очень медленный, то получается приемлемо. Ну это я общеизвестные вещи пишу, а насчет частичного обновления лучше у jerri проконсультируйся, он специалист по движкам.

  17. Этот пользователь поблагодарил ivagor за это полезное сообщение:

    CityAceE (15.02.2024)

Страница 31 из 32 ПерваяПервая ... 272829303132 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Вычисление числа Пи на ассемблере
    от perestoronin в разделе Разное
    Ответов: 311
    Последнее: 12.02.2024, 17:12
  2. Ответов: 275
    Последнее: 16.12.2018, 23:01
  3. try-catch на ассемблере z80
    от siril в разделе Программирование
    Ответов: 22
    Последнее: 30.10.2012, 21:17
  4. Продам книгу- AMIGA: программирование на ассемблере
    от Doctor Max в разделе Барахолка (архив)
    Ответов: 11
    Последнее: 01.03.2012, 00:35
  5. Подпрограмма на ассемблере в памяти?
    от jimled в разделе Программирование
    Ответов: 1
    Последнее: 29.11.2009, 06:46

Ваши права

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