User Tag List

Страница 7 из 8 ПерваяПервая ... 345678 ПоследняяПоследняя
Показано с 61 по 70 из 80

Тема: Вместо HALT

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

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

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

    По умолчанию

    Вот довольно точный тест длительности INT:ints_tests.zip (minfo.tap).

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

  3. #2

    Регистрация
    20.03.2007
    Адрес
    Санкт-Петербург
    Сообщений
    3,000
    Спасибо Благодарностей отдано 
    201
    Спасибо Благодарностей получено 
    113
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от weiv Посмотреть сообщение
    minfo.tap
    У меня TR-DOS only.
    МГТФ - любимый провод!
    KAY-1024(4096)/SL-4/TURBO v2010 + Nemo-FDC + Nemo-IDE (CF 4GB) + SMUC2 Rev.B RTC (HDD 1.6GB + DVD-ROM) + PROF-ROM + ZXMC2 + GENERAL SOUND 2MB + ZX-BUS_TEE + FDD 3.5' + FDD 5.25' + VGA&PAL

  4. #3

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

    По умолчанию

    Кому интересно, благодаря daniel, запустившему новый тест на своих реалах, выяснилось, что на реальных компах тест виснет, как и ожидалось, то есть Spectaculator и ZXMAK2 не вполне правильно эмулируют работу команды LD A,R. Это может влиять, ну например, на эмуляцию программ, использующих регистр R как генератор случайных чисел. В частности, неправильно пишутся/читаются RZX, например вот этот RZX воспроизводится без ошибок только на Спектакуляторе, на котором он был записан.

  5. #4

    Регистрация
    12.12.2015
    Адрес
    г. Москва
    Сообщений
    65
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У меня вопрос на ту же тему. Как между делом, пока у меня выполняется много кода с запрещёнными прерываниями, понять что прерывание таки случилось? Я ведь правильно понимаю, оно не случается "вдогонку"? Дело в том, что код использует стек в качестве переносчика данных, а прерывание может туда нагадить. Вот я и думаю, как бы в промежутках кода проверять не случилось-ли оно, и вызывать обработчик.

  6. #5

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

    По умолчанию

    Цитата Сообщение от dimidus Посмотреть сообщение
    Как между делом, пока у меня выполняется много кода с запрещёнными прерываниями, понять что прерывание таки случилось?
    с чего ему случаться если оно запрещено ?
    работать нетрадиционно со стеком можно и при разрешённых прерываниях.
    тут два варианта.
    1 как в ЧерномВороне. процедура на im2 правит сама испорченные данные.
    2 как в Zub/Amaurote. постоянная проверка целостности данных и их коррекция

  7. #6

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от dimidus Посмотреть сообщение
    У меня вопрос на ту же тему. Как между делом, пока у меня выполняется много кода с запрещёнными прерываниями, понять что прерывание таки случилось? Я ведь правильно понимаю, оно не случается "вдогонку"? Дело в том, что код использует стек в качестве переносчика данных, а прерывание может туда нагадить. Вот я и думаю, как бы в промежутках кода проверять не случилось-ли оно, и вызывать обработчик.
    скорей всего никак
    на многих клонах можно вообще словить 2+ обработчика прерываний подряд
    если обработчики короткие

    ...по моему на msx-ах прерывание будет висить до тех пор пока не произойдет его подтверждение
    на некоторых спетрумах по моему максимум что есть
    это прекращение сигнала инта при его подтверждении
    чтоб не ловить 2 подряд
    (не уверен уже есть ли точно(и расчитывать на это в любом случае нельзя))

    при наличии порта FF можно поймать факт начала\конца экрана
    и вызвать обработчик
    но это должны быть чем то оправданно
    так как на большим количестве спектрумов это поделие работать не будет
    да и сама проверка будет длительной
    тк в строке 96 тактов бордюра
    да и над самим экраном, по моему, все не так просто читается


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

    ДЕТКИ НЕ ПЫТАЙТЕСЬ ПОВТОРИТЬ ЭТО ДОМА!
    ну разве что это будет wild demo
    где такое можно и нужно
    Последний раз редактировалось NEO SPECTRUMAN; 08.10.2019 в 01:48.

  8. #7

    Регистрация
    12.12.2015
    Адрес
    г. Москва
    Сообщений
    65
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    скорей всего никак
    ...
    Жалко... Как я понимаю, чтение из регистра R, это из той же оперы?

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    можно попытаться поймать 50Гц-ный фон с матафонного входа...
    А это вообще взлом Матрицы!

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

    Цитата Сообщение от goodboy Посмотреть сообщение
    с чего ему случаться если оно запрещено ?
    работать нетрадиционно со стеком можно и при разрешённых прерываниях.
    тут два варианта.
    1 как в ЧерномВороне. процедура на im2 правит сама испорченные данные.
    2 как в Zub/Amaurote. постоянная проверка целостности данных и их коррекция
    Интересная мысль! Буду думать в этом направлении. Спасибо!

  9. #8

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от dimidus Посмотреть сообщение
    Жалко... Как я понимаю, чтение из регистра R, это из той же оперы?
    регистром R можно мерять время условно
    основная проблема что у регистра R всего 7 бит (128 значений)
    им много не намеряешь (интервалы 512-1200+ тактов всего)
    да и инкриментится он с разной скоростью

    его можно пускать по одноподобному коду
    тогда он дает более менее вменяемые результаты пригодные к использованию
    можно использовать вместо счетчика когда нет свободных регистров

    в атаче поделие в котором я как то юзал регистр R для измерения расстояния на которое пролетает луч
    после там несколько низкоточных коррекций результата
    и в итоге много артефактов

    так же обработчик прерываний должен восстанавливать значение регистра
    на некоторых эмулях у меня оно иногда восстанавливает с ошибкой
    что как бы намекает на кривость эмуляции местами или какие еще то подводные камни
    Последний раз редактировалось NEO SPECTRUMAN; 08.10.2019 в 22:49.

  10. #9

    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,101
    Спасибо Благодарностей отдано 
    1,333
    Спасибо Благодарностей получено 
    322
    Поблагодарили
    151 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от dimidus Посмотреть сообщение
    Как между делом, пока у меня выполняется много кода с запрещёнными прерываниями, понять что прерывание таки случилось?
    Цитата Сообщение от goodboy Посмотреть сообщение
    1 как в ЧерномВороне. процедура на im2 правит сама испорченные данные.
    2 как в Zub/Amaurote. постоянная проверка целостности данных и их коррекция
    3. Если известно сколько именно времени исполняется "много кода", то посчитать. Можно использовать также замер_времени после "много кода" до следующего прерывания.

  11. #10

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

    По умолчанию

    я тут недавно долго ловил баг. прога работала при IM1, но через какое-то время (в турбе быстрее) сбрасывалась.
    вот кусок кода висящий на прерываниях в ROM. увеличение системной переменной (frames)
    Код:
    	LD   HL,(#5C78)
    	INC  HL
    	LD   (#5C78),HL
    	LD   A,H
    	OR   L
    	JR   NZ,L0048
    	INC  (IY+#40) !!!!!
    L0048:	PUSH BC
    в моём случае это был муз.плейер который использовал IY для работы с данными.
    оказалось такое встречается и в играх, например JoeBlade2 48k
    Последний раз редактировалось goodboy; 08.10.2019 в 13:10.

Страница 7 из 8 ПерваяПервая ... 345678 ПоследняяПоследняя

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

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

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

Похожие темы

  1. HALT контроллер
    от zx_ в разделе БК-0010/0011
    Ответов: 9
    Последнее: 28.09.2018, 00:49
  2. Di:Halt 99
    от Vinnny в разделе События
    Ответов: 29
    Последнее: 13.07.2018, 19:59
  3. Di:HALT:2009
    от TmK в разделе События
    Ответов: 186
    Последнее: 11.08.2009, 14:26
  4. Di:Halt 2007 invitation
    от sq/skrju в разделе События
    Ответов: 12
    Последнее: 25.05.2007, 11:44

Ваши права

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