Page 7 of 13

Re: Ошибки в us0.37.6

PostPosted: 01 Oct 2012, 18:48
by ShadowMaker
У меня XP, так что оба варианта мимо.

Короче не помогло, все равно вылетает Unreal.

Image

Re: Ошибки в us0.37.6

PostPosted: 01 Oct 2012, 19:36
by deathsoft
ShadowMaker wrote:Короче не помогло, все равно вылетает Unreal.

Ну по хекс коду ошибки там реально E_FAIL, а не буфер лост, попробуй дрова звуковухи обновить. Проверял сегодня на компе (core 2 duo 3.06GHz) со звуковухой via hd, fps был 50 никуда не дергался. Попробуй поставить опцию SoundDrv=none и посмотри плавает fps или нет. Еще тормоза могут быть еслти включен gs/ngs в режиме z80 (GSType=z80).

Re: Ошибки в us0.37.6

PostPosted: 02 Oct 2012, 13:00
by ShadowMaker
Звуковухе драйвера обновил, посмотрим...

Кстати, вопрос немного не по теме - как-то можно поставить брейкпойнт на чтение данных из конкретной страницы? Ну то есть путем Conditional breakpoints в данном случае (а вообще конечно было бы клево поддержать это в будущих версиях сразу для всех брейкпойнтов, а то поставил в одной странице брейкпойнт, а лезет из другой, и толку никакого).

Re: Ошибки в us0.37.6

PostPosted: 02 Oct 2012, 13:07
by DimkaM
ShadowMaker wrote:как-то можно поставить брейкпойнт на чтение данных из конкретной страницы?

Можно, читай в доках

Re: Ошибки в us0.37.6

PostPosted: 02 Oct 2012, 15:37
by ShadowMaker
Можно конкретику? Надо поставить брейкпойнт на чтение из диапазона c000-d000 в странице 3. Нужен конкретный пример как это сделать.

Re: Ошибки в us0.37.6

PostPosted: 02 Oct 2012, 16:30
by DimkaM
[esc] [ctrl]+[c]
в поле "Conditional breakpoints" ввести:
Code: Select all
(((FD&7)==3)&&(PC>=0C000)&&(PC<=0D000))


выдержка из доков:
менеджер точек останова оперирует тремя типами точек останова:

1. условные остановы (conditional breakpoints) и on-screen watches
используют Си-подобный синтаксис выражений.

операции (перечислены в порядке убывания приоритета):
() ! ~ M(x) -> * % / + - >> << > < == = <= >= != & ^ | && ||
операнды:
a,b,c,d,e,h,l,bc,de,hl - основной набор регистров
a',b',c',d',e',h',l',bc',de',hl' - альтернативный набор регистров
ix,iy,pc,sp,i,r - прочие регистры
FD - порт памяти #FD (также известен как #7FFD)
OUT - порт, использованный в команде OUT (или 0FFFFFFFF, если OUT не было)
IN - порт, использованный в команде IN (или 0FFFFFFFF, если IN не было)
VAL - значение, считанное/записанное в порт (имеет смысл, только
если OUT != 0FFFFFFFF или IN != 0FFFFFFFF)
числа - шестнадцатеричные, должны начинаться с цифры: DFFD - нельзя, 0DFFD - можно
коды символов - заключаются в апострофы ('A','B' и т.п.)
Все вычисления производятся в 32-битной беззнаковой целой арифметике.
Если вы плохо знакомы с Си, ставьте скобки, где возможно,
т.к. приоритет операций неинтуитивен, например:
out & 0FF == 0FE понимается как 'out & (0FF == 0FE)' <- всегда 0

M(x) - байт, считанный из адреса x (можно записать как x->0)
'=' - то же, что '==' (для паскалистов)

Примеры:

(out+1) | (in+1) - IN/OUT в любой порт
(in & 8001) == 0 - чтение клавиш от <B> до <SPACE>
!(out & 1) - любой вывод в порт #FE
(out & 0FF)==0BB && (val==0F3 || val==0F4) - сброс General Sound
(out & 0FF)==0FD && (val&7)==3 - установка 3-й банки памяти
(FD & 7) == 3 - то же самое
M(pc)==0CB && pc->1 >= 10 && pc->1 <= 17
- останавливается во время выполнения команды RL <reg>

Надеюсь, этих примеров достаточно для понимания идеи

Чтобы редактировать точку останова, щёлкните на ней мышью два раза

Re: Ошибки в us0.37.6

PostPosted: 02 Oct 2012, 16:38
by DimkaM
сорри, это чуть нето, ща соображу...

Re: Ошибки в us0.37.6

PostPosted: 02 Oct 2012, 16:57
by DimkaM
нда чёто я тупанул. нету такого. сорри

можно конечно перечислить все команды чтения, но это маразм

Re: Ошибки в us0.37.6

PostPosted: 02 Oct 2012, 17:31
by DimkaM
Поддерживаю ShadowMaker'а , предлагаю расширить значение "Мемори ацесс" до трёх байт.

Хотя непонятки с озу\пзу

Re: Ошибки в us0.37.6

PostPosted: 02 Oct 2012, 19:59
by deathsoft
ShadowMaker wrote:Можно конкретику? Надо поставить брейкпойнт на чтение из диапазона c000-d000 в странице 3. Нужен конкретный пример как это сделать.

Условных брекпоинтов на доступ R/W к диапазонам памяти нету.