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

User Tag List

Показано с 1 по 8 из 8

Тема: PT3 плеер для Вектора-06Ц

  1. #1

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,213
    Спасибо Благодарностей отдано 
    731
    Спасибо Благодарностей получено 
    2,209
    Поблагодарили
    1,234 сообщений
    Mentioned
    32 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию PT3 плеер для Вектора-06Ц

    CityAceE своим примером (1, 2) смотивировал конверснуть PT3 плеер для 8080. У него PT2/PT3 в мнемониках z80 и для sjasm, у меня PT3 в мнемониках 8080 (за что большое спасибо svofski!) для tasm или прекрасма.
    Отличия: у него более универсальный, у меня более компактный и возможно более быстрый (пока это предположение, надо тестировать).
    Все делал вручную (с копипастой конечно), вчера потратил 7-8 часов. Конверсией CityAceE не пользовался, даже не смотрел до переноса. Насколько могу судить у CityAceE больше автоматики.

    Отдельный плеер (бинарник) PT2 для вектора есть, надеюсь svofski подскажет, где найти, если кому-то надо.

    С помощью прилагаемого батника можно собирать тестовые romы с этим плеером
    pt3test.bat имя_модуля.pt3
    Для этого еще должны быть доступны TASM.EXE и TASM85.TAB
    Вложения Вложения
    Последний раз редактировалось ivagor; 06.07.2025 в 16:24. Причина: улучшенная версия

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

    b2m(07.07.2025), CityAceE(06.07.2025), marinovsoft(06.07.2025), metamorpho(06.07.2025), Mick(06.07.2025), Oleg N. Cher(06.07.2025), parallelno(06.07.2025), svofski(06.07.2025)

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

  3. #2

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,243
    Спасибо Благодарностей отдано 
    970
    Спасибо Благодарностей получено 
    731
    Поблагодарили
    449 сообщений
    Mentioned
    24 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я недоделал конвертацию и выглядит неряшливо. Поправил регистры регистров, теперь нормально https://gist.github.com/svofski/ca57...1f6e437a352eb8 -- версия в шапке новее и лучшее и с регистрами красивыми.
    Последний раз редактировалось svofski; 06.07.2025 в 17:02.
    Больше игр нет

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

    ivagor(06.07.2025), metamorpho(06.07.2025), parallelno(06.07.2025)

  4. #3

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,213
    Спасибо Благодарностей отдано 
    731
    Спасибо Благодарностей получено 
    2,209
    Поблагодарили
    1,234 сообщений
    Mentioned
    32 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    возможно более быстрый (пока это предположение, надо тестировать)
    Не угадал, по результатам небольшого тестирования мой на 6-7% медленнее.
    Надо будет попрофилировать, может получится ускорить без заметного увеличения размера. Запас есть, сейчас у меня примерно на 700 байт компактнее (но, напомню, без поддержки pt2).

  5. #4

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,968
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    595
    Спасибо Благодарностей получено 
    1,503
    Поблагодарили
    516 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо за эту конверсию!

    Цитата Сообщение от ivagor Посмотреть сообщение
    CityAceE своим примером (1, 2) смотивировал конверснуть PT3 плеер для 8080
    Класс! Только ради этого мне стоило заняться адаптацией

    Цитата Сообщение от ivagor Посмотреть сообщение
    У него PT2/PT3 в мнемониках z80 и для sjasm
    Да, к сожалению, это так. Знаю, что это неправильно, но в который раз оправдываюсь, что я, увы, не знаю мнемоник i8080, а переучиваться уже поздно.

    Цитата Сообщение от ivagor Посмотреть сообщение
    Насколько могу судить у CityAceE больше автоматики.
    На первом этапе, наверное, это с натяжкой можно назвать автоматической конверсией, так как под каждую команду я старался сделать универсальное решение, которое подойдёт в любом месте. Задача была сделать так, чтобы оно начало запускаться на i8080. Но в финале каждую команду переписывал вручную, в зависимости от контекста. Некоторые команды Z80 объединял по 2-3.

    Цитата Сообщение от ivagor Посмотреть сообщение
    Все делал вручную (с копипастой конечно), вчера потратил 7-8 часов.
    Эх, вот бы мне такую же производительность! Я убил целую неделю на это дело.

    Цитата Сообщение от ivagor Посмотреть сообщение
    Не угадал, по результатам небольшого тестирования мой на 6-7% медленнее.
    А вот это очень любопытно! Но мы разные версии адаптировали, скорее всего та, которую адаптировал я, в оригинале была быстрее.
    С уважением, Станислав.

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

    parallelno(06.07.2025)

  6. #5

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,213
    Спасибо Благодарностей отдано 
    731
    Спасибо Благодарностей получено 
    2,209
    Поблагодарили
    1,234 сообщений
    Mentioned
    32 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Разогнал, теперь мой вариант процентов на 5 быстрее. Ну и стало на 64 байта компактнее. И теперь это облагороженный svofski вариант со строчными буквами регистров.
    В принципе можно еще ускорить и сократить, если понадобится.
    Цитата Сообщение от CityAceE Посмотреть сообщение
    Я убил целую неделю на это дело.
    А я за длительность рабочего дня, зато первый блин был комом по скорости. Если бы не сравнил с твоим вариантом так бы и оставил.

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

    CityAceE(06.07.2025), Oleg N. Cher(06.07.2025), parallelno(06.07.2025), svofski(06.07.2025)

  7. #6

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,968
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    595
    Спасибо Благодарностей получено 
    1,503
    Поблагодарили
    516 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    А я за длительность рабочего дня
    А можешь поделиться, как у тебя проходила адаптация? Какие были этапы? Как ты проверял работоспособность на каждом этапе? Проигрыватель довольно сложный, и я не представляю, как можно переписать всё вслепую и надеяться, что нигде не ошибся. Поэтому я лично адаптировал по одному типу команд. После каждой группы я проверял и убеждался, что ничего не сломалось или доделывал эту группу команд, пока работа программы не восстанавливалась. И так до самого конца, пока команд Z80 совсем не осталось. А уже когда все заработало на i8080, прошёлся вручную по своим доработкам. Авторский код я вообще никак не трогал. При желании можно раскомментировать авторские команды и закомментировать мои дополнения. Но нужно делать это всё разом, так как есть манипуляции с AF' и IX, которые в авторском коде и в адаптации хранятся в разных местах.
    С уважением, Станислав.

  8. #7

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,213
    Спасибо Благодарностей отдано 
    731
    Спасибо Благодарностей получено 
    2,209
    Поблагодарили
    1,234 сообщений
    Mentioned
    32 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Начал с IX и этот этап практически целиком сделал вслепую. Результат закономерный - именно тут дольше всего искал ошибки.
    Потом AF' в два приема. Потом остальные команды по одной или мелкими группами.
    Когда все заменил на 8080 прошелся и маленько оптимизировал, но как сегодня оказалось - оптимизировал слабо.
    Сегодня посмотрел в профайлере VV, на что обратить внимание и там уже более тщательно оптимизировал. Резервы есть, эти монструозные замены IX можно оптимизировать. Чем более широкий контекст учитываем, тем быстрее и компактнее получается, но чем он шире, тем его сложнее узнать и понять.

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

    Еще надо сказать, что это не первая сравнительно объемная адаптация для 8080, поэтому накопился некоторый опыт и стандартные замены команд. Но пожалуй единоразово это самый объемный для меня случай. Предыдущим был трассировщик и там наверно раза в 4 быстрее управился, но там и проще было.

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

    CityAceE(06.07.2025), Oleg N. Cher(07.07.2025)

  9. #8

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,968
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    595
    Спасибо Благодарностей получено 
    1,503
    Поблагодарили
    516 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо за описание процесса!

    Цитата Сообщение от ivagor Посмотреть сообщение
    Начал с IX и этот этап практически целиком сделал вслепую. Результат закономерный - именно тут дольше всего искал ошибки.
    Вот ты герой, конечно! У меня ошибок было просто море. Я бы вслепую, как я собирался делать вначале, вообще бы не справился. Но потом придумал, как можно делать покомандно и дело пошло.
    С уважением, Станислав.

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

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

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

Похожие темы

  1. Бейсики для Вектора-06Ц и клонов
    от ivagor в разделе Вектор
    Ответов: 640
    Последнее: 09.06.2025, 17:02
  2. Картотека ПО для Вектора-06ц
    от svofski в разделе Вектор
    Ответов: 719
    Последнее: 04.04.2024, 11:13
  3. Пишу шедевр для «Вектора 06Ц»
    от metamorpho в разделе Вектор
    Ответов: 442
    Последнее: 21.07.2022, 06:15
  4. Ответов: 3
    Последнее: 29.06.2021, 18:07
  5. PT3 плеер, модификация
    от Corpsegrinder в разделе Программирование
    Ответов: 5
    Последнее: 17.02.2005, 18:09

Ваши права

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