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

User Tag List

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

Тема: Вопрос по отладчику Unreal Speccy

  1. #1
    --- Аватар для Shadow Maker
    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    235
    Поблагодарили
    100 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Вопрос по отладчику Unreal Speccy

    Мне надо поставить точку останова на вывод во второй канал AY. Как это сделать?
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

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

  3. #2
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,094
    Спасибо Благодарностей отдано 
    21
    Спасибо Благодарностей получено 
    83
    Поблагодарили
    67 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если вы хотите найти место в которм это происходит, можно попытаться перехватывать команды записи значений в порты AY через Breakpoints Manager (ALT+C).
    Если место вам известно, правой кнопкой мыши на сроке операции, ставится точка останова. При повторении операции, точка осанова снимается.
    Последний раз редактировалось null_device; 01.09.2012 в 14:14.
    Когда есть, но не знаешь где - это все равно, что нету.

  4. #3
    --- Аватар для Shadow Maker
    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    235
    Поблагодарили
    100 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да, я имел ввиду именно перехват команды записи в порт AY, соответствующий второму (среднему) каналу, видимо непонятно написал. Естественно надо использовать Breakpoint Manager, мне надо конкретную команду, которую написать в условие. Я догадываюсь, что это что-то типа OUT % 0FD и что-то еще, но я не догоняю, какая именно это будет команда, те, что пробовал, не срабатывают.
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

  5. #4
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,094
    Спасибо Благодарностей отдано 
    21
    Спасибо Благодарностей получено 
    83
    Поблагодарили
    67 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Как мне кажется, нужно искать и запись значений FFFD->хFFD->ххFD в регистр(ы), т.к. запись в порт может быть не непосредственным, а через регистровую пару BC.
    Когда есть, но не знаешь где - это все равно, что нету.

  6. #5
    --- Аватар для Shadow Maker
    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    235
    Поблагодарили
    100 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну мне команду кто-нибудь скажет, которую вбить в отладчик? При чем тут непосредственная или косвенная запись мне решительно непонятно. Вот выдержка из хелпа.

    Код:
           operators (in priority order):
             () ! ~ M(x) -> * % / + - >> << > < == = <= >= != & ^ | && ||
           operands:
             a,b,c,d,e,h,l,bc,de,hl                 - common registers
             a',b',c',d',e',h',l',bc',de',hl'       - alternative registers
             ix,iy,pc,sp,i,r                        - control registers
             FD     - pentagon port #FD (also know as #7FFD)
             OUT    - port used in 'OUT' command (or 0FFFFFFFF when no outs)
             IN     - port used in 'IN'  command (or 0FFFFFFFF when no ins)
             VAL    - read/written value to port (only meaningful when OUT != 0FFFFFFFF or IN != 0FFFFFFFF)
             numbers - hex, but must start with digit: DFFD - wrong, 0DFFD - right
             characters - must be enclosed in single quotes ('A','B',etc..)
           all calculations uses 32-bit unsigned interger arithmetic
           if you are not familiar with C, use brackets as much as possible, due to
           non-intuitive operator's precedence, e.g.
           out & 0FF == 0FE   treated as 'out & (0FF == 0FE)' <- always 0
    
           M(x) is peek byte at address x (same as x->0)
           '=' is an alias for '==' (for pascal programmers)
    
           samples:
    
               (out+1) | (in+1)       - in/out to any port
               (in & 8001) == 0       - read keyboard row from <B> to <SPACE>
               !(out & 1)             - any out to port #FE
               (out & 0FF)==0BB && (val==0F3 || val==0F4) - reset General Sound
               (out & 0FF)==0FD && (val&7)==3   - set 3rd memory page
               (FD & 7) == 3                    - the same
               M(pc)==0CB && pc->1 >= 10 && pc->1 <= 17
                    - set break on executing instruction "rl <reg>"
    Последний раз редактировалось Shadow Maker; 01.09.2012 в 20:59.
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

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

    По умолчанию

    (out & 0FFFF)==0FFFD && (val==2 || val==3 || val==9)

    и что вообще значит "точку останова на вывод во второй канал AY"? только на включение регистра, относящегося ко 2му каналу.

  8. #7
    --- Аватар для Shadow Maker
    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    235
    Поблагодарили
    100 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Только на вывод в регистры второго канала. твой метод чего-то ошибку выдает, val не нравятся.
    Последний раз редактировалось Shadow Maker; 02.09.2012 в 00:09.
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

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

    По умолчанию

    (((OUT&0FFFF)==0FFFD)&&(((VAL==2)|(VAL==3))|(VAL== 9)))
    вот так у меня пашет.

  10. #9
    Super Moderator Аватар для Alex Rider
    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,908
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    89
    Поблагодарили
    31 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Deleted
    Последний раз редактировалось Alex Rider; 02.09.2012 в 07:58. Причина: Читать предыдущие посты надо было внимательнее :)

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

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

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

Похожие темы

  1. В Unreal Speccy - турба
    от Руслан в разделе Эмуляторы
    Ответов: 7
    Последнее: 30.08.2012, 11:07
  2. Настройщик Unreal Speccy
    от Dr.Lion/RSM в разделе Эмуляторы
    Ответов: 97
    Последнее: 03.03.2008, 14:12
  3. unreal speccy beakpoints
    от Raider в разделе Эмуляторы
    Ответов: 2
    Последнее: 10.07.2005, 23:13
  4. ускорить Unreal Speccy ? timeBeginPeriod()
    от S.T.A.S. в разделе Эмуляторы
    Ответов: 4
    Последнее: 16.03.2005, 08:58

Ваши права

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