User Tag List

Показано с 1 по 10 из 208

Тема: EmuZGL alpha preview

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    Тогда постоянно крутить ручки настройки, что не легче (колёсико громкости и то ближе обычно).
    ну, дело ваше а я бы 1 раз настроил и не парился.


    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    Но насчёт взять строчку из анрил, я её там просто не нашёл:
    а я нашел письмо Alone Coder'у с исправлениями. исправления были внесены не так давно.

    исправление микширования каналов GS (gsz80.cpp):

    inline void flush_gs_sound()
    {
    unsigned l,r; //!
    l=gs_v[0]+gs_v[1]; //!
    r=gs_v[2]+gs_v[3]; //!

    if (temp.sndblock) return;
    sound.update(gscpu.t + (unsigned) (gs_t_states - gscpu_t_at_frame_start), (l+r/2)/2, (r+l/2)/2); //!
    for (int ch = 0; ch < 4; ch++) {
    gsleds[ch].level = led_gssum[ch] * gsvol[ch] / (led_gscnt[ch]*(0x100*0x40/16)+1);
    led_gssum[ch] = led_gscnt[ch] = 0;
    gsleds[ch].attrib = 0x0F;
    }
    }

    т.е. половина правого канала слышна в левом и наоборот. по скорости, наверное,
    медленно, но можно не создавать переменные l и r, а вставить в формулу.
    деление суммы в этой формуле сделано на 2 для быстроты, так-то надо делить на 1.5.

    исправление щелчков громкости (опционально! в GS не так!) (gsz80.cpp):

    void gs_byte_to_dac(unsigned addr, unsigned char byte)
    {
    flush_gs_sound();
    unsigned chan = (addr>>8) & 3;
    gsbyte[chan] = byte;
    gs_v[chan] = ((signed char)(gsbyte[chan]-0x80) * (signed)gs_vfx[gsvol[chan]]) /256 +gs_vfx[33]; //!
    //gs_v[chan] = (gsbyte[chan] * gs_vfx[gsvol[chan]]) >>8; //!
    led_gssum[chan] += byte;
    led_gscnt[chan]++;
    }

    тут байт звука берется знаковый, т.е. 0х80 - это 0, при этом как не меняй
    громкость, на выходе будет 0. в конце формулы прибавляется середина громкости,
    чтоб в результате число было в тех же самых пределах, что и раньше.

    точно такую же замену сделать в void out(unsigned port, unsigned char val).
    сравнивать как звучит гс можно с последней версией анрила, там очень похоже.

    Добавлено через 36 минут
    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    Int выставил в 32 (стояло 24, впрочем, особо не заметил, чтобы что-то опменялось по этой причине).
    дык.. ничего поменяться и не должно было а вот если б стояло не 24, а тактов 10, тооо...
    Последний раз редактировалось psb; 18.04.2008 в 13:09. Причина: Добавлено сообщение

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

  3. #2

    Регистрация
    06.04.2005
    Адрес
    Земля, Москва, Марьино
    Сообщений
    21,509
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот есть гифтинг для тестинга:
    Gift 4 Vel

    Самое интересное во всех эмуляторах ведет себя по разному, не говоря уже про реал. Там типа Ковокс звучать должен в конце...

    Вообщем если попробовать во всех эмулях, то можно примерно услышать нечто среднее.

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

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

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

Похожие темы

  1. MEMos alpha demo
    от jim в разделе Софт
    Ответов: 11
    Последнее: 16.09.2007, 14:18
  2. Quick Commander v4.00 (preview)
    от Знахарь в разделе Софт
    Ответов: 12
    Последнее: 11.11.2005, 13:40

Ваши права

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