Приветствую Вас Гость | RSS


Главная страница » Новая версия Unreal Speccy - Страница 7 - ZX-Форум » Регистрация » ВходЧетверг
2024-04-25
02:14:10
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
ZX-Форум » Разное » Эмуляторы » Новая версия Unreal Speccy
Новая версия Unreal Speccy
deathsoftДата: Понедельник, 2009-02-02, 21:08:51 | Сообщение # 91
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 1587
Репутация: 9
Статус: Offline
Еще бажок нашел:
В config.cpp написано
if (!strnicmp(line, "PROFI", 4)) conf.ide_scheme = IDE_PROFI;

а должно быть

if (!strnicmp(line, "PROFI", 5)) conf.ide_scheme = IDE_PROFI;

(ошибка копипаста)

Сообщение отредактировал deathsoft - Понедельник, 2009-02-02, 21:09:20
 
deathsoftДата: Понедельник, 2009-02-02, 22:28:18 | Сообщение # 92
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 1587
Репутация: 9
Статус: Offline
Вот, нашел тут еще про фильтрацию постоянной составляющей (раздел 9.3) http://prodav.exponenta.ru/dsp/doc/dsp09.doc

molodcov_alex, там формула практически такая же как у тебя, только с теорией.

Сообщение отредактировал deathsoft - Понедельник, 2009-02-02, 22:30:39
 
molodcov_alexДата: Вторник, 2009-02-03, 10:00:36 | Сообщение # 93
Осваивается
Группа: Человеки
Сообщений: 36
Репутация: 0
Статус: Offline
Quote (deathsoft)
molodcov_alex, там формула практически такая же как у тебя, только с теорией.

Там столько умных слов, что мне даже не вкурить biggrin
 
lvdДата: Вторник, 2009-02-03, 15:25:07 | Сообщение # 94
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 2528
Репутация: 13
Статус: Offline
Нафига вы постоянку фильтруете, вам что, низов-басов много?
Постоянку прекрасно отфильтрует кондёр 0.1мкф в говнозвукокарте и такой же в говноколонках.
А избежать ЩЕЛЧКОВ очень просто - когда прекращается вывод звука эмулятором (юзер нажал есц или например ф2) - звуковой код не выключает вывод, а продолжает с последним уровнем (продолжает постоянку). А кондёр щелчки, очевидно, не убьёт, лишь зарежет низы.


Многого нет здесь: http://lvd.nedopc.com
 
deathsoftДата: Вторник, 2009-02-03, 15:50:54 | Сообщение # 95
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 1587
Репутация: 9
Статус: Offline
Quote (lvd)
Нафига вы постоянку фильтруете, вам что, низов-басов много?

Посмотри спектр сигнала, там режется до единиц герц, что никогда не воспроизведется никакой звуковухой. Щелчки все убиваются идеально - ибо фильтр с предыстроией.
 
deathsoftДата: Вторник, 2009-02-03, 15:52:16 | Сообщение # 96
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 1587
Репутация: 9
Статус: Offline
Quote (lvd)
звуковой код не выключает вывод, а продолжает с последним уровнем (продолжает постоянку)

Звуковой код работает в том же треде что и весь код эмулятора (последовательно), если эмулятор не работает - звук тоже не выводится. Если сделать вывод звука в отдельном треде - будет рассинхронизация видео и звука.
 
robat_eДата: Вторник, 2009-02-03, 19:01:44 | Сообщение # 97
Младший одепт
Группа: Человеки
Сообщений: 610
Репутация: 5
Статус: Offline
А мне эти щелчки пох, главное, что сейчас эмулятор не падает от них. Раньше чаше всего именно во время щелчков и падал.

Мы, роботы-бездельники, не любим понедельники.
 
deathsoftДата: Вторник, 2009-02-03, 19:17:36 | Сообщение # 98
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 1587
Репутация: 9
Статус: Offline
Quote (robat_e)
Раньше чаше всего именно во время щелчков и падал.

Ну так я же пофиксил проблему когда пытался проиграться буфер нулевой длины (в 0.37.2). Кстати таже проблема осталась, если вывод идет через wave а не через ds. В девелоперской версии пофикшены обе.

Вобщем проблема со звуком решена (на приемлемом уровне), скоро будет релиз.

П.С. напишите список программ и дем на которых протестировать, чтобы не выкладывать глючную версию унриала.

Сообщение отредактировал deathsoft - Вторник, 2009-02-03, 19:19:40
 
lvdДата: Вторник, 2009-02-03, 19:34:14 | Сообщение # 99
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 2528
Репутация: 13
Статус: Offline
Quote (deathsoft)
Посмотри спектр сигнала, там режется до единиц герц, что никогда не воспроизведется никакой звуковухой. Щелчки все убиваются идеально - ибо фильтр с предыстроией.

Щелчок при перекладке постоянки - это ступенька. Ступенька - интеграл от дельта-функции. Спектр дельта функции - постоянные составляющие на всех частотах. Значит спектр ступеньки - ~1/omega. Значит чтоб ступенька не была слышна - надо отфильтровать ВСЕ частоты. Значит у тебя щелчок остаётся.


Многого нет здесь: http://lvd.nedopc.com
 
robat_eДата: Вторник, 2009-02-03, 20:20:38 | Сообщение # 100
Младший одепт
Группа: Человеки
Сообщений: 610
Репутация: 5
Статус: Offline
Quote (deathsoft)
П.С. напишите список программ и дем на которых протестировать, чтобы не выкладывать глючную версию унриала.

У меня как раз сегодня эмуль завис - я играл в новую игрушку Demo Mania от tbk+4d, нажал f1 и всё повисло. Но что-то мне подсказывает, что у меня скоро винда накроется, ее плющить стало после установки Nokia PC Suite. Скорее всего тревога ложная.


Мы, роботы-бездельники, не любим понедельники.
 
deathsoftДата: Вторник, 2009-02-03, 23:12:49 | Сообщение # 101
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 1587
Репутация: 9
Статус: Offline
Quote (robat_e)
Скорее всего тревога ложная.

Качнул игрушку, буду смотреть.
 
molodcov_alexДата: Среда, 2009-02-11, 13:52:35 | Сообщение # 102
Осваивается
Группа: Человеки
Сообщений: 36
Репутация: 0
Статус: Offline
Нашел тут ошибку в анриле... Вот оригинал:
Code
void change_rombank(int dx, int reload)
{
....
     char *x = strrchr(line+2, ':');
     unsigned pg = 0; if (!x) x = line + strlen(line); else { *x = 0; pg = atoi(x+1); }
     if (reload) {if (!select_romfile(line)) return; }
....
     if ((unsigned)(pg+dx) < sz/256) pg += dx;
     if (sz > 256) sprintf(x, ":%d", pg);

Если загрузить, например, ПрофПЗУ с путем к файлу длиннее, чем у текущего, то получается, что конец строки обрезается.
Решение вижу такое:
Code
   if (reload){
       if (!select_romfile(line)) return;
       x = line + strlen(line);
     }

Все это дело в gui.cpp

Сообщение отредактировал molodcov_alex - Среда, 2009-02-11, 18:44:27
 
deathsoftДата: Среда, 2009-02-11, 14:54:04 | Сообщение # 103
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 1587
Репутация: 9
Статус: Offline
Quote (molodcov_alex)
Нашел тут ошибку в анриле... Вот оригинал

Надо везде просмотреть код загрузки файлов, там наверное полно глюков, в своей версии я еще вещде в массивах длину указал MAX_PATH вместо вбитых констант.

Я кстати на этот глюк один раз напоролся, но тогда не стал разбираться из за чего он (стал подгружать ром из подкаталога, а имя рома обрезалось).

Сообщение отредактировал deathsoft - Среда, 2009-02-11, 15:06:26
 
deathsoftДата: Среда, 2009-02-11, 22:24:22 | Сообщение # 104
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 1587
Репутация: 9
Статус: Offline
Исправил ошибку
 
deathsoftДата: Суббота, 2009-02-14, 16:26:45 | Сообщение # 105
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 1587
Репутация: 9
Статус: Offline
version 0.37.3 13 feb 2009 (deathsoft)

-Проблемы с захватом аудиобуфера для проигрывания 0 байт
(Буфер проигрывался быстрее чем в него рендерились данные, когда частота кадров > 50Гц)

!Исправлены ошибки с обработкой событий в отладчике (меню и поля ввода)
Не обрабатывалась перерисовка

В режиме скорпиона:
- Неправильно декодировались 7FFD и 1FFD, переделано на соответствие с
платой SC16 (зеленая).

- Отклюено декодирование пентагоновского порта EFF7 (нет такого порта в скорпионе и не было никогда)
- Неправильно декодировался порт FE (по A0=0), сделано по схеме SC16

Исправлена грубая ошибка в эмуляции ВГ93:
!В ВГ93 код размера сектора содержит всего 2 бита (размеры 128-1024 байта),
остальные биты просто игнорируются. В эмуляторе же использовались все биты из
размера сектора в заголовке сектора. Это приводило к тому что образы в которых размер сектора
равен 5 (101) вообще не читались (а на самом деле сектоа должны читаться как сектора с кодом 01)
(Такая же проблема замечена и в zxmak и в elf/2 плугинах к FAR)

!Длина дорожки выставлена в 6250 байт (максимально возможная теоретическая длина дорожки)
(о чем неоднократно писал Alexandr Medvedev, подробности в документации на формат udi)
(Alco - учи мат часть!!!)
!В загрузчике td0 сделана обработка флагов (пока на начальном уровне,
пропускаются сектора без заголовков и сектора без данных)
заработала игра gallows

+В процедуре форматирования дорожки gap1 сокращен с 50 байт до 40
(это неправильно, нужно расчитывать исходя из реального количества секторов и их размера,
для стандартных форматов использовать 50, а для форматов типа 10 секторов по 512 байт
- расчитаное значение, иначе длинна дорожки превысит максимальную)

-Неправильно обрабатывался параметр wParam у сообщения WM_SYSCOMMAND (не накладывалась маска 0xFFF0).
-Зарезервированые 4 младших бита wParam использовались для своих нужд (переделано на WM_USER+xxx)

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

!Заблокирован режим турбо в пентагоне.
(Реализованный режим турбо - неприемлем, т.к. после сброса режим турбо всегда включен
и нет возможности его выключить (при каждом сбросе турбо опять включается))

!Исправлена ошибка с инициализацией указателя на данные для расчета crc для ВГ93
(раньше этот указатель инициализировался только при команде байте F5, запись CRC).
Заработала программа dobrota.

!Исправлена обработка звуковых буферов нулевой длины при проигрывании через WaveMapper.
Заработала программа fuckemul.

!Исправлена обработка nmi для скорпиона, теперь сигнал nmi активен в течение 1 кадра.

+Переименованы настройки в ini файле (Добавлен суффикс Vol)
Beeper -> BeeperVol
MicOut -> MicOutVol
MicIn -> MicInVol
AY -> AYVol
CovoxFB -> CovoxFBVol
CovoxDD -> CovoxDDVol
SD -> SDVol
GS -> GSVol
BASS -> BASSVol

+Добавлены настройки для отключения soundrive и covox:
SD
CovoxFB
CovoxDD

!Исправлена ошибка в эмуляции дисковода. Не везде делалась проверка на превышение
максимального номера дорожки. (В ADS30 заработал тест на максимальное количество дорожек).

+Сделана обработка средней кнопки мыши (раньше для нее все было предусмотренно, но самой обработки события,
по непонятной причине, не было).

!Вернул на место фильтры AdvNAME и Frame Resampler (которые отключил Alone Coder).

+Добавлена опция RejectDC в ini файл для включения/выключения подавления постоянной
составляющей в звуке.

-Исправлена ошибка при загрузке образа пзу, если путь к новому образу больше предыдущего (molodcov_alex)
+Добавлена опция ConfirmExit в ini файл для включения/выключения подтверждения при выходе.

+Добавлены следующие патчи от molodcov_alex'а:
Поддержка IDE profi
Поддержка часов profi
Исправлено поведение порта 7FFDh
У экрана profi не щелкались страницы
Дешифрация расширенных портов profi (платы v5.xx)
Изменено расположение страниц ПЗУ под реальный profi
- Функция applyconfig() вызывалась два раза подряд (в init_all() и сразу же после нее),
в результате двоились сообщения ошибок при запуске эмуля

+Реализована поддержка NeoGS (не полностью), работает как в режиме совместимости со старым ГС, так и в расширеном режиме.
Работает MP3 плеер сделанный савелием. MP3 проигрываются через bass.dll (эмуляция кодека VS1001).
NeoGS работает ТОЛЬКО в режиме реального z80.

+Реализована поддержка SD карты (пока только read only), в режиме NeoGS и в режиме Z-контроллера (можно использовать сразу 2 SD карты).
Работает FatAll.
+Отладчик переделан на работу с любым числом процессоров, переключение процессоров выполняется Ctrl + ~ (настраивается в ini файле).
+Добавлен пресет ULA для ATM (скопирован с пентагоновского но отключено unstable bus in dos)

P.S. В архиве две версии .exe файлов под П1 и под П4, файл соответствующий вашему процессору надо переименовать в unreal.exe

Прикрепления: us0.37.3.part1.rar (976.6 Kb) · us0.37.3.part2.rar (213.2 Kb)


Сообщение отредактировал deathsoft - Суббота, 2009-02-14, 16:35:58
 
ZX-Форум » Разное » Эмуляторы » Новая версия Unreal Speccy
Поиск:

the DLCorp © 2006