User Tag List

Страница 4 из 8 ПерваяПервая 12345678 ПоследняяПоследняя
Показано с 31 по 40 из 72

Тема: Оптимизация игр под турбо.

  1. #31

    Регистрация
    03.05.2005
    Адрес
    Москва
    Сообщений
    175
    Спасибо Благодарностей отдано 
    71
    Спасибо Благодарностей получено 
    45
    Поблагодарили
    22 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от aGGreSSor Посмотреть сообщение
    1) Как вы будете определять включена турба или нет?
    1.1) Спросите у пользователя при запуске игры?
    1.2) Прочитаете системные порты?
    1.2.1) Какие?

    2) Как вы будете подбирать задержки?

    Конкретные вопросы - конкретные ответы.
    Частота прерываний остаётся прежней. Но количество операций, которые процессор успевает выполнить между ними, меняется. Я это так понимаю. Поэтому можно в начале игры сделать вызов процедуры измерения реальной скорости и пропатчить игру соответственно.

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

    Цитата Сообщение от krotan Посмотреть сообщение
    А за что его поздравлять? Я думаю было бы уместнее поздравлять Ричарда Альтвассера за разработку ZX Spectrum, а не Клайва, который просрал все разработки, которые для него сделали талантливые изибретатели, включая спектрум...
    Я посмотрел активность юзера, его посты (sic) и увидел только поздравления.
    PRINT #1;AT 1,0;" CRACKED BY DJSINFINIT LIVES(Y/N)"

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

  3. #32

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,289
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    202
    Спасибо Благодарностей получено 
    1,456
    Поблагодарили
    946 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    вспомининаю что когда у меня появился скорп с турбой (лет 25 назад)
    я тоже игрался с этим направлением, но турбу включал перед прорисовкой в буфер / выключал при игровом цикле.

    в том-же квазатроне есть свободное место под код, но автор не стал разворачивать циклы, вероятно решил - и так достойно.
    в Ейдолоне вполне быстрая пересылка экрана из буфера - тормоза из-за прорисовки стен пещер (математика/фракталы)
    .................
    DJS известный хакер начала 90х, молиться надо что его благодать сошла на нас.

  4. #33

    Регистрация
    03.05.2005
    Адрес
    Москва
    Сообщений
    175
    Спасибо Благодарностей отдано 
    71
    Спасибо Благодарностей получено 
    45
    Поблагодарили
    22 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от aGGreSSor Посмотреть сообщение
    Во-первых, тест на турбу был сделан для скорпионов ЕМНИП ещё в 98-м. Делалось для синхронизации таймингов в демках адаптированных для скорпа. После приснопамятного разговора KANO с Зоновым на E'97. Многие демки не работали и они были адаптированы, в т.ч. многие проверяют турбу. Во-вторых, пользователь включил турбу во время выполнения программы, что должен делать код? Пользователь СЗБ или что? Проверка производится на старте. Нет турбы, что должен делать код? В-третьих, как уже написал Dexus, не все турбы одинаково полезны. В-четвёртых (и последних) частота не равна производительности. В теории можно ускорить какой-нибудь обсчёт, на практике как это использовать в условиях имеющегося зоопарка никому неизвестно с 98-го по сей день. Поэтому в адаптациях смысла 0.0. Никто не знает как это должно выглядеть, и топикстартер тоже не знает. Это как в анекдоте: станьте ёжики медведями, медведей никто не обижает. Уверен, что на том же Evo (про который ничего не знаю) тот же Alone Coder использует проц до такта, но за пределами Evo это не работает.
    Да, я не знаю. Поэтому выложил в сообщество тему. Реально у меня два-три десятка игр из любимых, которые страдают от тормозов. Если бы нашлись умные люди со свободным временем и светлой головой, и сделали патч под турбо, кому бы от этого стало плохо? Нет, Реально, от этого бы кто-то пострадал? Если нет, то почему бы нет?

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

    Цитата Сообщение от krt17 Посмотреть сообщение
    Наркоманы ворчуны.
    Есть простая задача. Классическая игра, идет приемлемо на 3,5 но в некоторых моментах существенно тормозит, для примера квазатрон.
    Разберемся что нужно сделать чтобы при включении турбо 20 Мгц (да хоть на 100) дроид не носился как безумный дракон, а при скролле все сдвигалось с максимальной скоростью.
    Организуется счетчик отсчитывающий число прерываний между обновлениями экрана. Пока после предыдущей отрисовки не прошло 4 кадра ждем. Соответствующий код
    Код:
    			org	0xdd7c
    
    			ld	a, (0xaf2b)   ;это было
    			cp	7
    			call	nc, 0xc05a
    l1
    cnt			equ	$+1
    			ld	a, 0
    			cp	4
    			jr	c, l1
    			xor	a
    			ld	(cnt), a
    			ret
    int
    			push	hl
    			push	af
    			ld	hl, cnt
    			inc	(hl)
    			pop	af
    			pop	hl
    			jp	0xbd2d
    			display	$
    
    			org 0xe6e6
    			jp	int
    В данном случае потратил я на него с копаниями минут 15. На 3.5 мгц не будет дополнительной паузы и игра абсолютно не изменится.
    Все, наблюдаем ровный фреймрейт при движении и шустрый скролл. Изначально квазатрон работал так, никакой синхры по прерывниям не было, но они включены, на них висят звуковые эффекты. Более менее постоянная скорость обеспечивается циклом паузы зависящей от количества врагов на экране, больше врагов меньше пауза.
    Это не единственная проблема конкретно в этой игре, миниигра также не синхрится по прерываниям, причем в ней 2 фазы, выбор стороны и собственно сама схватка. Там тоже нужны задержки подобные игровому циклу, мне уже стало лениво искать куда их вставить.
    При чем тут бла бла бла о том кто когда что с чем синхрил и какие турбы бывают, при чем тут демы.
    Всегда бесила миниигра дребезгом клавиатуры. Очень сложно было не то, что включить нужные линии, но навестить на них из-за тормозов. Опять же, поле деятельности для патча!

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

    Цитата Сообщение от goodboy Посмотреть сообщение
    вспомининаю что когда у меня появился скорп с турбой (лет 25 назад)
    я тоже игрался с этим направлением, но турбу включал перед прорисовкой в буфер / выключал при игровом цикле.

    в том-же квазатроне есть свободное место под код, но автор не стал разворачивать циклы, вероятно решил - и так достойно.
    в Ейдолоне вполне быстрая пересылка экрана из буфера - тормоза из-за прорисовки стен пещер (математика/фракталы)
    .................
    DJS известный хакер начала 90х, молиться надо что его благодать сошла на нас.
    По поводу вашей подписи, не стоило так, честное слово. Я и не был никем особо по сравнению с именами тех лет. Так, один из многих. А тем более сейчас - давно пребываю в маразме. Произошло обострение симптомов Спектрумании очередное на почве ковида
    PRINT #1;AT 1,0;" CRACKED BY DJSINFINIT LIVES(Y/N)"

  5. #34

    Регистрация
    07.10.2006
    Сообщений
    1,730
    Спасибо Благодарностей отдано 
    257
    Спасибо Благодарностей получено 
    275
    Поблагодарили
    167 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от krotan Посмотреть сообщение
    Я думаю, то, что сделал Альтвассер, исходило не из технического задания, а из его таланта. А требования Синклера он на самом деле не выполнил, тому нужен был вовсе не игровой компьютер, и он всегда очень раздражался, когда оказывалось, что Спек идеально подходит для игр вопреки его желаниям.
    Ну почему не выполнил? Если Синклер позиционировал Спектрум для изучения программирования, то для этого компьютер вполне подходил. Да и я бы не сказал, что Спектрум _идеально_ подходит для игр. Подходит неплохо, но с нюансами. Всё же отсутствие цвета на точку это для программиста игр существенный недостаток.

    Почему-то Альтвассер не смог превзойти по популярности свою же разработку по чужим требованиям, уйдя в свободное плавание (правда, похоже, и задачи такой он не ставил). Он сделал компьютер для программистов - с быстрым ЯВУ, но с очень ограниченными графическими возможностями.

    Что касается Викерса, то я в его творении больших достижений не вижу. Куча ошибок, которые вошли в финальный релиз... Низкое быстродействие... Плохая функциональность... Пошивка явно уступает аналогам того времени, например BBCmicro...
    Тем не менее, на Спектрум-бейсике даже неплохие динамические игры делались. В целом - далеко от идеала, но для изучения программирования вполне годится.

  6. #35

    Регистрация
    03.05.2005
    Адрес
    Москва
    Сообщений
    175
    Спасибо Благодарностей отдано 
    71
    Спасибо Благодарностей получено 
    45
    Поблагодарили
    22 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я помню, отец разбудил меня в час дня, говорит, Горбачёва сняли, какой-то ГКЧП по телевизору. А я ни фига не понял, лёг в 8 утра после очередной сессии взлома игр с кассеты, которую мне подогнали. Были поставщики кассет свежих. Один "дядя" по моим тогдашним понятия возраста жил рядом с белорусским вокзалом, у него всегда были кассеты на обмен. В квартире собака, То ли доберман, то ли что-то ещё. Обычная двушка. Я приходил, копировали на двухкассетнике. Но когда я уходил, он собаку держал двумя руками. Вход свободный, выход - не так просто. Сколько лет прошло, до сих пор помню.
    Последний раз редактировалось djs; 23.08.2021 в 00:33.
    PRINT #1;AT 1,0;" CRACKED BY DJSINFINIT LIVES(Y/N)"

  7. #36

    Регистрация
    02.02.2005
    Адрес
    Saint-Petersburg
    Сообщений
    215
    Спасибо Благодарностей отдано 
    124
    Спасибо Благодарностей получено 
    48
    Поблагодарили
    30 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от djs Посмотреть сообщение
    Поэтому можно в начале игры сделать вызов процедуры измерения реальной скорости и пропатчить игру соответственно.
    Да, была такая метода, вспоминаю. Но для этого нужна табличка под весь зоопарк.

    Цитата Сообщение от djs Посмотреть сообщение
    Частота прерываний остаётся прежней.
    Как я понимаю/помню. Понятие частота прерываний равноценно для Спектрума понятию частота обновления экрана. Экран на разных спектрумах (сюрприз) обновляется с разной частотой. Всё потому же, что количество тактов между прерываниями равно произведению кол-ва строк (на экране) на длину строки (время прорисовки в тактах). На одном спектруме это будет 224 такта за строку, на другом 256, на третьем ещё что-нибудь. И кол-во строк тоже будет разное за INT, который будет то ли с WAIT, то ли без. Отсюда свистопляска с проигрыванием AY, например. Если вы хотите услышать трек, как его хотел слышать автор будьте добры проиграть его на том же железе/эмуляторе. Грубо, частота обновления экрана фирменного Спектрума это 50 Hz, а Pentagon 128 это 48,8 Hz. И, да, не надо обладать абсолютным слухом чтобы услышать это кардинальное влияние на звук AY. Но на деле всё ещё хуже. Одних скорпов было 4 штуки, из которых 3 турбированных, а способов турбирования скорпов штук пять с разными артефактами по выводу экрана, влиянию на AY и т.д. Помню как в ZX-Ревю общались на темы, что если отодрать эту ногу, то AY станет медленный, но задержки будут как на Пентагоне, а если отодрать другую, то весь экран сдвигается вбок, но AY становится нормальный и пр. пляски. Т.е. не об одних демах с мультиколором речь. В теории вы правы: считаем кол-во тактов в начале, имеем табличку и подстраиваем по ней задержки. На пункте подстраиваем задержки мы отправляемся создавать тему, например Точное описание задержек Скорпиона. А потом начинаем изучать весь прочий зоопарк. Я так вижу, поправьте меня если я не прав.

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

    djs(23.08.2021)

  8. #37

    Регистрация
    03.05.2005
    Адрес
    Москва
    Сообщений
    175
    Спасибо Благодарностей отдано 
    71
    Спасибо Благодарностей получено 
    45
    Поблагодарили
    22 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от weiv Посмотреть сообщение
    Ну почему не выполнил? Если Синклер позиционировал Спектрум для изучения программирования, то для этого компьютер вполне подходил. Да и я бы не сказал, что Спектрум _идеально_ подходит для игр. Подходит неплохо, но с нюансами. Всё же отсутствие цвета на точку это для программиста игр существенный недостаток.

    Почему-то Альтвассер не смог превзойти по популярности свою же разработку по чужим требованиям, уйдя в свободное плавание (правда, похоже, и задачи такой он не ставил). Он сделал компьютер для программистов - с быстрым ЯВУ, но с очень ограниченными графическими возможностями.

    Тем не менее, на Спектрум-бейсике даже неплохие динамические игры делались. В целом - далеко от идеала, но для изучения программирования вполне годится.
    Кассеты Spectrum Computing, прилагавшиеся к журналу, очень многому научили. Недавно приладил блютус-модуль к своему сизифу, и пару часов грузил те самые кассеты через Zx tape player.
    А ещё помню до сих пор, под впечатлением от Zebbedy (тоже type-in игра) и Jumping Jack (хит на все времена!) В 8 лет пытался написать свою игру про хомяка. Использовал UDG и споткнулся на определении коллизии с объектами, потому что SCREEN$ не определял UDG. 1982 или 1983.

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

    Цитата Сообщение от aGGreSSor Посмотреть сообщение
    Да, была такая метода, вспоминаю. Но для этого нужна табличка под весь зоопарк.


    Как я понимаю/помню. Понятие частота прерываний равноценно для Спектрума понятию частота обновления экрана. Экран на разных спектрумах (сюрприз) обновляется с разной частотой. Всё потому же, что количество тактов между прерываниями равно произведению кол-ва строк (на экране) на длину строки (время прорисовки в тактах). На одном спектруме это будет 224 такта за строку, на другом 256, на третьем ещё что-нибудь. И кол-во строк тоже будет разное за INT, который будет то ли с WAIT, то ли без. Отсюда свистопляска с проигрыванием AY, например. Если вы хотите услышать трек, как его хотел слышать автор будьте добры проиграть его на том же железе/эмуляторе. Грубо, частота обновления экрана фирменного Спектрума это 50 Hz, а Pentagon 128 это 48,8 Hz. И, да, не надо обладать абсолютным слухом чтобы услышать это кардинальное влияние на звук AY. Но на деле всё ещё хуже. Одних скорпов было 4 штуки, из которых 3 турбированных, а способов турбирования скорпов штук пять с разными артефактами по выводу экрана, влиянию на AY и т.д. Помню как в ZX-Ревю общались на темы, что если отодрать эту ногу, то AY станет медленный, но задержки будут как на Пентагоне, а если отодрать другую, то весь экран сдвигается вбок, но AY становится нормальный и пр. пляски. Т.е. не об одних демах с мультиколором речь. В теории вы правы: считаем кол-во тактов в начале, имеем табличку и подстраиваем по ней задержки. На пункте подстраиваем задержки мы отправляемся создавать тему, например Точное описание задержек Скорпиона. А потом начинаем изучать весь прочий зоопарк. Я так вижу, поправьте меня если я не прав.
    Я столкнулся с разбросом таймингов, когда писал на резинке 48к загрузчики игр со счётчиками и анимацией, а потом они не работали на клонах.

    Сейчас хорошо. Есть кросс-ассемблеры, эмуляторы. А у меня была резинка 48 и магнитофон. Мультифейса не было, поэтому написал свой кракер в экранной памяти и им ломал всё, что приносили.
    Сейчас запла́чу. Но завтра на производство, принимать на работу нового человека, который старше меня на 10 лет или не принимать.
    Последний раз редактировалось djs; 23.08.2021 в 01:08.
    PRINT #1;AT 1,0;" CRACKED BY DJSINFINIT LIVES(Y/N)"

  9. #38

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,289
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    202
    Спасибо Благодарностей получено 
    1,456
    Поблагодарили
    946 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    и кстати кто такой в реале Лаптев ?
    он тут пробегал мельком, но потом сказали что это псевдоним.

    а на Амигу ты не подсел (из той тусовки) ?

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

    djs(23.08.2021)

  10. #39

    Регистрация
    31.01.2007
    Адрес
    Москва
    Сообщений
    810
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    77
    Поблагодарили
    59 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от aGGreSSor Посмотреть сообщение
    Я так вижу, поправьте меня если я не прав.
    Не прав, ничего считать не надо, игроку все равно игра работает 12,5 фпс или 12,2. Про частоту интов и музыку вообще бред. Влияла частота AY, это да, но не 1.2 Гц кадровой.

    Цитата Сообщение от djs Посмотреть сообщение
    а потом они не работали на клонах
    Загрузчик в медленной памяти резинки это приговор, но ктож тогда знал.

  11. #40

    Регистрация
    03.05.2005
    Адрес
    Москва
    Сообщений
    175
    Спасибо Благодарностей отдано 
    71
    Спасибо Благодарностей получено 
    45
    Поблагодарили
    22 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    и кстати кто такой в реале Лаптев ?
    он тут пробегал мельком, но потом сказали что это псевдоним.

    а на Амигу ты не подсел (из той тусовки) ?
    Я слышал, что его фамилия немного отличается от "Лаптев". Не уверен, что могу её публично назвать даже сейчас. В личку могу написать. На Амигу я не пересел: просрал учёбу, ушёл в армию, а там все пересели на 386. Немного поработал в разработке софта для zx-модема для связи со Спектрума с писи-bbs и ушёл в личную жизнь. А сейчас сам на грани пенсии по возрасту, ностальгия..

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

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

    и кстати кто такой в реале Лаптев ?
    он тут пробегал мельком, но потом сказали что это псевдоним.

    а на Амигу ты не подсел (из той тусовки) ?
    И да,
    спасибо на добром слове!

    Последний раз редактировалось djs; 23.08.2021 в 01:18.
    PRINT #1;AT 1,0;" CRACKED BY DJSINFINIT LIVES(Y/N)"

Страница 4 из 8 ПерваяПервая 12345678 ПоследняяПоследняя

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

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

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

Похожие темы

  1. УКНЦ - адаптация игр под магнитофон
    от newart в разделе ДВК, УКНЦ
    Ответов: 22
    Последнее: 09.04.2021, 22:14
  2. Оптимизация Амиги 1230/50 под мр3
    от Alex2 в разделе Amiga
    Ответов: 52
    Последнее: 10.01.2017, 01:23
  3. Разработка игр под две конфигурации
    от alone в разделе Программирование
    Ответов: 2
    Последнее: 05.05.2013, 14:03
  4. Ответов: 10
    Последнее: 17.08.2007, 21:51
  5. Ответов: 18
    Последнее: 09.03.2007, 01:08

Ваши права

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